`
zhanhao
  • 浏览: 284898 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

requestWindowFeature使用详解

阅读更多

requestWindowFeature可以设置的值有:
 // 1.DEFAULT_FEATURES:系统默认状态,一般不需要指定
        // 2.FEATURE_CONTEXT_MENU:启用ContextMenu,默认该项已启用,一般无需指定
        // 3.FEATURE_CUSTOM_TITLE:自定义标题。当需要自定义标题时必须指定。如:标题是一个按钮时
        // 4.FEATURE_INDETERMINATE_PROGRESS:不确定的进度
        // 5.FEATURE_LEFT_ICON:标题栏左侧的图标
        // 6.FEATURE_NO_TITLE:无标题
        // 7.FEATURE_OPTIONS_PANEL:启用“选项面板”功能,默认已启用。
        // 8.FEATURE_PROGRESS:进度指示器功能
        // 9.FEATURE_RIGHT_ICON:标题栏右侧的图标

效果图:
 default:

 
 progress:


no title:



 
 lefticon:



 fullscreen:

 indeterminate_progress:

 

customtitle:



 

 

代码:

package com.my;
import android.app.Activity;
import android.os.Bundle;
import android.os.Handler;
import android.os.Message;
import android.view.Window;
import android.view.WindowManager;
public class WindowFeatureDemoActivity extends Activity {
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        // requestWindowFeature();的取值
        // 1.DEFAULT_FEATURES:系统默认状态,一般不需要指定
        // 2.FEATURE_CONTEXT_MENU:启用ContextMenu,默认该项已启用,一般无需指定
        // 3.FEATURE_CUSTOM_TITLE:自定义标题。当需要自定义标题时必须指定。如:标题是一个按钮时
        // 4.FEATURE_INDETERMINATE_PROGRESS:不确定的进度
        // 5.FEATURE_LEFT_ICON:标题栏左侧的图标
        // 6.FEATURE_NO_TITLE:无标题
        // 7.FEATURE_OPTIONS_PANEL:启用“选项面板”功能,默认已启用。
        // 8.FEATURE_PROGRESS:进度指示器功能
        // 9.FEATURE_RIGHT_ICON:标题栏右侧的图标
        // ========================FEATURE_INDETERMINATE_PROGRESS:不确定的进度
//        showFEATURE_INDETERMINATE_PROGRESS();
//        // =====================FEATURE_CUSTOM_TITLE       
//        showFEATURE_CUSTOM_TITLE();
//        // ======================== FEATURE_LEFT_ICON:标题栏左侧的图标
//        showFEATURE_LEFT_ICON();
//        // ======================FEATURE_NO_TITLE
//        showFEATURE_NO_TITLE();   
//         =================================FEATURE_PROGRESS
        showFEATURE_PROGRESS();
    }
    private void showFEATURE_INDETERMINATE_PROGRESS() {
        requestWindowFeature(Window.FEATURE_INDETERMINATE_PROGRESS);
        setContentView(R.layout.main);
        getWindow().setFeatureInt(Window.FEATURE_INDETERMINATE_PROGRESS, R.layout.progress);
        // 必须得加上否则显示不出效果 可以通过这个在以后设置显示或隐藏
        setProgressBarIndeterminateVisibility(true);
    }
    private void showFEATURE_CUSTOM_TITLE() {
        // 自定义标题。当需要自定义标题时必须指定。如:标题是一个按钮时
        requestWindowFeature(Window.FEATURE_CUSTOM_TITLE);
        setContentView(R.layout.main);
        getWindow().setFeatureInt(Window.FEATURE_CUSTOM_TITLE, R.layout.customtitle);
    }
    private void showFEATURE_LEFT_ICON()
    {
         requestWindowFeature(Window.FEATURE_LEFT_ICON);
         setContentView(R.layout.main);
         getWindow().setFeatureDrawableResource(Window.FEATURE_LEFT_ICON,
         R.drawable.icon);
    }
    private void showFEATURE_NO_TITLE()
    {
         requestWindowFeature(Window.FEATURE_NO_TITLE);
         setContentView(R.layout.main);
         // 加上这句设置为全屏 不加则只隐藏title
         getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN,
         WindowManager.LayoutParams.FLAG_FULLSCREEN);
    }
    private void showFEATURE_PROGRESS()
    {
        requestWindowFeature(Window.FEATURE_PROGRESS);
        setProgressBarVisibility(true);
        setContentView(R.layout.main);
        setTitle("");
        getWindow().setFeatureInt(Window.FEATURE_PROGRESS, Window.PROGRESS_VISIBILITY_ON);
        // 通过线程来改变ProgressBar的值
        new Thread(new Runnable() {
            public void run() {
                for (int i = 0; i < 10; i++) {
                    try {
                        Thread.sleep(1000);
                        Message m = new Message();
                        m.what = (i + 1) * 20;
                        WindowFeatureDemoActivity.this.myMessageHandler.sendMessage(m);
                    } catch (Exception e) {
                        e.printStackTrace();
                    }
                }
            }
        }).start();
    }
    Handler myMessageHandler = new Handler() {
        // @Override
        public void handleMessage(Message msg) {
            // 设置标题栏中前景的一个进度条进度值
            setProgress(100 * msg.what);
            // 设置标题栏中后面的一个进度条进度值
            setSecondaryProgress(100 * msg.what + 10);
            super.handleMessage(msg);
        }
    };
}

 

  • 大小: 41.4 KB
  • 大小: 18 KB
  • 大小: 24 KB
  • 大小: 6.6 KB
  • 大小: 23.9 KB
  • 大小: 14.6 KB
  • 大小: 24 KB
10
0
分享到:
评论
2 楼 urok22 2013-10-30  
很不错,学习了
1 楼 liaohq_45289 2012-08-21  
学习了,谢谢。正纠结着呢。

相关推荐

    requestWindowFeature

    requestWindowFeature实验的源码,有助于理解requestWindowFeature

    Android 中 requestWindowFeature()的应用

    本文主要介绍 Android requestWindowFeature()方法,这里对 requestWindowFeature()方法进行详解,对应用程序窗体显示状态的操作有进一步了解,希望能帮助有需要的小伙伴

    requestWindowFeature对title的设置

    NULL 博文链接:https://username2.iteye.com/blog/2183813

    requestWindowFeature设置窗口标题栏.txt

    requestWindowFeature设置窗口标题栏

    android 照相机

    requestWindowFeature(Window.FEATURE_NO_TITLE);//没有标题 window.setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN,WindowManager.LayoutParams.FLAG_FULLSCREEN);// 设置全屏 window.addFlags...

    android开发使用例子

    this.requestWindowFeature(Window.FEATURE_NO_TITLE); this.getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN, WindowManager.LayoutParams.FLAG_FULLSCREEN); 横竖屏显示 private void ...

    Android隐藏标题栏及解决启动闪过标题的实例详解

    Android隐藏标题栏及解决启动闪过标题的实例详解 方法一: 在代码中设置 this.requestWindowFeature(Window.FEATURE_NO_TITLE);//去掉标题栏 方法二: 在AndroidManifest.xml 里面设置 android:label=@...

    android应用程序窗体显示状态操作

    Android 应用程序窗体显示状态操作(requestWindowFeature()的应用)

    超有用的安卓学习材料3

    23、在虚拟机上建立SD卡 46 24、判断SD卡是否存在 47 25、删除文件 48 26、ListView的setOnItemClickListener事件与...28、requestWindowFeature可以设置的值有: 53 29、Intent-filter属性详解 54 30、获取HTTP 58

    隐藏状态栏

    G1的屏幕的分辨率是320×480,虽说不小但也谈不上大,所以有的应用要使用起来,最好还是希望把状态栏(Status Bar)和标题栏(Title Bar)也隐藏了,这样就可以有更大的屏幕空间给应用程序。 view plaincopy to ...

    Android-Popupwindow和Dialog做弹出窗口

    (4)Popupwindow没有标题,Dialog默认有标题,可以通过dialog.requestWindowFeature(Window.FEATURE_NO_TITLE);取消标题 (5)二者显示的时候都要设置Gravity。如果不设置,Dialog默认是Gravity.CENTER。 (6)...

    微博,百度地图,二维码

    requestWindowFeature(Window.FEATURE_NO_TITLE); bMapManager = new BMapManager(this);

    Android4.2中全屏或者取消标题栏的方法总结

    先介绍去掉标题栏的方法: 第一种:也一般入门的时候经常使用的一种方法 requestWindowFeature(Window.FEATURE_NO_TITLE);//去掉标题栏注意这句一定要写在setContentView()方法的前面,不然会报错的 第二种:在...

    Android中3种全屏方法及3种去掉标题栏的方法

    第一种:入门的时候经常使用的一种方法 代码如下:  requestWindowFeature(Window.FEATURE_NO_TITLE);  //去掉标题栏注意这句一定要写在setContentView()方法的前面,不然会报错的 第二种:在AndroidManifest.xml...

    刘海屏适配

    文章目录一、简述二、实现三、手机厂商的适配四、工具类 一、简述 ... requestWindowFeature(Window.FEATURE_NO_TITLE); Window window = getWindow(); window.setFlags(WindowManager.LayoutParam

    一个全屏显示的Android注册界面示例

    一个简单的Android注册界面,在注册时支持全屏显示,通过下列两句实现:getWindow().setFlags...隐去状态栏部分电池等图标和一切修饰部分,requestWindowFeature(Window.FEATURE_NO_TITLE);隐去标题栏程序名称等信息。

    音乐播放器(J2ME)

    5 requestWindowFeature(Window.FEATURE_NO_TITLE); 6 Window win = getWindow(); 7 win.setFlags(WindowManager.LayoutParams.NO_STATUS_BAR_FLAG, 8 WindowManager.LayoutParams.NO_STATUS_BAR_FLAG); 9 ...

    Android 去掉状态栏的方法汇总

    在实际的应用程序开发中,我们有时需要把 Activity 设置成全屏显示,一般情况下,可以通过两种方式来设置全屏显示效果: 其一,通过在代码中可以设置, 其二,通过manifest配置文件...requestWindowFeature(Window.FEAT

    Android标题栏中添加返回按钮功能

    标题栏中的返回按钮在实际使用中用的比较多,今天就来讲讲我在项目开发中的使用经历,话不多说,还是直接上源码,上源码是最给力的。 一、 编写自定义类 public class CustomTitle { private static Activity ...

Global site tag (gtag.js) - Google Analytics