requestWindowFeature使用详解

requestWindowFeature使用详解 - - ITeye技术网站

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:

代码:

Java代码  

  1. package com.my;
  2. import android.app.Activity;
  3. import android.os.Bundle;
  4. import android.os.Handler;
  5. import android.os.Message;
  6. import android.view.Window;
  7. import android.view.WindowManager;
  8. public class WindowFeatureDemoActivity extends Activity {
  9. @Override
  10. public void onCreate(Bundle savedInstanceState) {
  11. super.onCreate(savedInstanceState);
  12. // requestWindowFeature();的取值
  13. // 1.DEFAULT_FEATURES:系统默认状态,一般不需要指定
  14. // 2.FEATURE_CONTEXT_MENU:启用ContextMenu,默认该项已启用,一般无需指定
  15. // 3.FEATURE_CUSTOM_TITLE:自定义标题。当需要自定义标题时必须指定。如:标题是一个按钮时
  16. // 4.FEATURE_INDETERMINATE_PROGRESS:不确定的进度
  17. // 5.FEATURE_LEFT_ICON:标题栏左侧的图标
  18. // 6.FEATURE_NO_TITLE:无标题
  19. // 7.FEATURE_OPTIONS_PANEL:启用“选项面板”功能,默认已启用。
  20. // 8.FEATURE_PROGRESS:进度指示器功能
  21. // 9.FEATURE_RIGHT_ICON:标题栏右侧的图标
  22. // ========================FEATURE_INDETERMINATE_PROGRESS:不确定的进度
  23. //        showFEATURE_INDETERMINATE_PROGRESS();
  24. //        // =====================FEATURE_CUSTOM_TITLE
  25. //        showFEATURE_CUSTOM_TITLE();
  26. //        // ======================== FEATURE_LEFT_ICON:标题栏左侧的图标
  27. //        showFEATURE_LEFT_ICON();
  28. //        // ======================FEATURE_NO_TITLE
  29. //        showFEATURE_NO_TITLE();
  30. //         =================================FEATURE_PROGRESS
  31. showFEATURE_PROGRESS();
  32. }
  33. private void showFEATURE_INDETERMINATE_PROGRESS() {
  34. requestWindowFeature(Window.FEATURE_INDETERMINATE_PROGRESS);
  35. setContentView(R.layout.main);
  36. getWindow().setFeatureInt(Window.FEATURE_INDETERMINATE_PROGRESS, R.layout.progress);
  37. // 必须得加上否则显示不出效果 可以通过这个在以后设置显示或隐藏
  38. setProgressBarIndeterminateVisibility(true);
  39. }
  40. private void showFEATURE_CUSTOM_TITLE() {
  41. // 自定义标题。当需要自定义标题时必须指定。如:标题是一个按钮时
  42. requestWindowFeature(Window.FEATURE_CUSTOM_TITLE);
  43. setContentView(R.layout.main);
  44. getWindow().setFeatureInt(Window.FEATURE_CUSTOM_TITLE, R.layout.customtitle);
  45. }
  46. private void showFEATURE_LEFT_ICON()
  47. {
  48. requestWindowFeature(Window.FEATURE_LEFT_ICON);
  49. setContentView(R.layout.main);
  50. getWindow().setFeatureDrawableResource(Window.FEATURE_LEFT_ICON,
  51. R.drawable.icon);
  52. }
  53. private void showFEATURE_NO_TITLE()
  54. {
  55. requestWindowFeature(Window.FEATURE_NO_TITLE);
  56. setContentView(R.layout.main);
  57. // 加上这句设置为全屏 不加则只隐藏title
  58. getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN,
  59. WindowManager.LayoutParams.FLAG_FULLSCREEN);
  60. }
  61. private void showFEATURE_PROGRESS()
  62. {
  63. requestWindowFeature(Window.FEATURE_PROGRESS);
  64. setProgressBarVisibility(true);
  65. setContentView(R.layout.main);
  66. setTitle("");
  67. getWindow().setFeatureInt(Window.FEATURE_PROGRESS, Window.PROGRESS_VISIBILITY_ON);
  68. // 通过线程来改变ProgressBar的值
  69. new Thread(new Runnable() {
  70. public void run() {
  71. for (int i = 0; i < 10; i++) {
  72. try {
  73. Thread.sleep(1000);
  74. Message m = new Message();
  75. m.what = (i + 1) * 20;
  76. WindowFeatureDemoActivity.this.myMessageHandler.sendMessage(m);
  77. } catch (Exception e) {
  78. e.printStackTrace();
  79. }
  80. }
  81. }
  82. }).start();
  83. }
  84. Handler myMessageHandler = new Handler() {
  85. // @Override
  86. public void handleMessage(Message msg) {
  87. // 设置标题栏中前景的一个进度条进度值
  88. setProgress(100 * msg.what);
  89. // 设置标题栏中后面的一个进度条进度值
  90. setSecondaryProgress(100 * msg.what + 10);
  91. super.handleMessage(msg);
  92. }
  93. };
  94. }
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);
        }
    };
}
时间: 2024-08-10 15:11:58

requestWindowFeature使用详解的相关文章

Android SlidingMenu 使用详解

转载请标明出处:http://blog.csdn.net/lmj623565791/article/details/36677279 很多APP都有侧滑菜单的功能,部分APP左右都是侧滑菜单~SlidingMenu 这个开源项目可以很好帮助我们实现侧滑功能,如果对SlidingMenu 还不是很了解的童鞋,可以参考下本篇博客.将侧滑菜单引入项目的方式很多中,本博客先通过例子介绍各种引入方式,然后给大家展示个实例:主布局ViewPager,左右各一个侧滑菜单的用法,差不多已经能满足大部分应用的需求

Android相机开发详解(一)

Android相机开发详解(一) 请支持原创,尊重原创,转载请注明出处:http://blog.csdn.net/kangweijian(来自kangweijian的csdn博客) Android相机开发能够实现打开相机,前后摄像头切换,摄像预览,保存图片,浏览已拍照图片等相机功能. Android相机开发详解(一)主要实现打开相机,摄像预览,前后置摄像头切换,保存图片等四个功能. Android相机开发详解(二)主要实现翻页浏览相片,触控缩放浏览图片,删除图片,发送图片等四个功能. Andro

Android——onCreate( )方法详解(转)

android开发之onCreate( )方法详解 onCreate( )方法是android应用程序中最常见的方法之一,那么,我们在使用onCreate()方法的时候应该注意哪些问题呢? 先看看Google Android Developers官网上的解释: onCreate(Bundle) is where you initialize your activity. Most importantly, here you will usually call setContentView(int

Activity界面绘制过程详解

Activity界面绘制过程详解 设置界面首先就是Activity.setContentView()方法:我们先看一下他的源码: /** * Set the activity content from a layout resource. The resource will be * inflated, adding all top-level views to the activity. * * @param layoutResID Resource ID to be inflated. *

详解 Android 的 Activity 组件

本文详细介绍了 Android 应用编程中 Activity 的生命周期.通信方式和 Intent Filter 等内容,并提供了一些日常开发中经常用到的关于 Activity 的技巧和方法.通过本文,你可以进一步了接 Android 中 Activity 的运作方式. 详解 Android 的 Activity 组件 Activity 的生命周期 和 J2ME 的 MIDlet 一样,在 android 中,Activity 的生命周期交给系统统一管理.与 MIDlet 不同的是安装在 and

Android进度条使用详解(一)

进度条是UI界面中一种非常实用的组件,通常用于向用户像是某个耗时操作完成的百分比.进度条可动态地显示进度,因此避免长时间地执行某个操作时,让用户感觉程序失去了响应,从而更好地提高用户界面的友好性.ProgressBar本身代表着进度条组件,其子类还包括SeekBar(拖动条)和RatingBar(星级评分条). 一.ProgressBar使用详解 1.环形进度条使用方法 (1)进度条样式 (2)代码实现 <ProgressBar android:id="@+id/progressBar&q

Android组件系列----Activity组件详解

[声明] 欢迎转载,但请保留文章原始出处→_→ 生命壹号:http://www.cnblogs.com/smyhvae/ 文章来源:http://www.cnblogs.com/smyhvae/p/3924567.html 联系方式:[email protected] [正文] 注:四大组件指的是应用组件:Activity.Service.BroadcastReceiver.ContentProvider:之前的控件指的是UI组件. 博文目录: 一.Activity简介 二.Activity的状

Android-多线程断点下载详解及源码下载(四)

本项目完成的功能类似与迅雷等下载工具所实现的功能--实现多线程断点下载. 主要设计的技术有: 1.android中主线程与非主线程通信机制. 2.多线程的编程和管理. 3.android网络编程 4.自己设计实现设计模式-监听器模式 5.Activity.Service.数据库编程 6.android文件系统 7.缓存 博文链接: Android-多线程断点下载详解及源码下载(一) Android-多线程断点下载详解及源码下载(二) Android-多线程断点下载详解及源码下载(三) 本篇完结多

Spring事务管理(详解+实例)

写这篇博客之前我首先读了<Spring in action>,之后在网上看了一些关于Spring事务管理的文章,感觉都没有讲全,这里就将书上的和网上关于事务的知识总结一下,参考的文章如下: Spring事务机制详解 Spring事务配置的五种方式 Spring中的事务管理实例详解 1 初步理解 理解事务之前,先讲一个你日常生活中最常干的事:取钱. 比如你去ATM机取1000块钱,大体有两个步骤:首先输入密码金额,银行卡扣掉1000元钱:然后ATM出1000元钱.这两个步骤必须是要么都执行要么都