博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
requestWindowFeature使用详解
阅读量:6426 次
发布时间:2019-06-23

本文共 4476 字,大约阅读时间需要 14 分钟。

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:

 

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

 

转载于:https://www.cnblogs.com/chinatofu/archive/2012/08/08/2629046.html

你可能感兴趣的文章
大型机、小型机、x86服务器的区别
查看>>
J2EE十三个规范小结
查看>>
算法(第四版)C#题解——2.1
查看>>
网关支付、银联代扣通道、快捷支付、银行卡支付分别是怎么样进行支付的?...
查看>>
大数据开发实战:Stream SQL实时开发一
查看>>
C++返回引用的函数例程
查看>>
dll 问题 (转)
查看>>
REST API用得也痛苦
查看>>
test for windows live writer plugins
查看>>
Tiny210 U-BOOT(二)----配置时钟频率基本原理
查看>>
代理模式
查看>>
javaweb学习总结(二十四)——jsp传统标签开发
查看>>
让script的type属性等于text/html
查看>>
linux 文件系统sysvinit 流程分析
查看>>
体素科技:2018年,算法驱动下的医学影像分析进展
查看>>
Vue 折腾记 - (8) 写一个挺靠谱的多地区选择组件
查看>>
VS Code折腾记 - (3) 多图解VSCode基础功能
查看>>
『翻译』Node.js 调试
查看>>
我的iOS开发之路总结(更新啦~)
查看>>
Java NIO之拥抱Path和Files
查看>>