博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
requestWindowFeature()的应用
阅读量:7013 次
发布时间:2019-06-28

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

hot3.png

android开发中经常会在setContentView(R.layout.XXX); 前设置requestWindowFeature(XXXX)。

他的意思是需要软件全屏显示、自定义标题(使用按钮等控件)和其他的需求

首先介绍一个重要方法那就是requestWindowFeature(featrueId),它的功能是启用窗体的扩展特性。参数是Window类中定义的常量。

一、枚举常量

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:标题栏右侧的图标

二、详解

默认显示状态

 

1.FEATURE_CUSTOM_TITLE详解

Java代码  收藏代码

  1. this.requestWindowFeature(Window.FEATURE_CUSTOM_TITLE);  

  2. setContentView(R.layout.main);  

 

这是因为没有设置Featrue

在上面代码后加:getWindow().setFeatureInt(Window.FEATURE_CUSTOM_TITLE, R.layout.title);

 

自定义标题完成,它是一个xml文件布局

 

Xml代码  收藏代码

  1. <?xml version="1.0" encoding="utf-8"?>  

  2. <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"  

  3.     android:layout_width="wrap_content"  

  4.     android:layout_height="wrap_content" >  

  5.   

  6.     <ImageView  

  7.         android:layout_width="wrap_content"  

  8.         android:layout_height="wrap_content"  

  9.         android:src="@drawable/ic_launcher"  

  10.         />  

  11.   

  12.     <TextView  

  13.         android:id="@+id/text"  

  14.         android:layout_width="wrap_content"  

  15.         android:layout_height="wrap_content"  

  16.         android:layout_alignParentLeft="true"  

  17.         android:textColor="#000000"  

  18.         android:text="FEATURE_CUSTOM_TITLE" />  

  19.   

  20. </LinearLayout>  

 

 

2.FEATURE_INDETERMINATE_PROGRESS详解

可以用来表示一个进程正在运行

Java代码  收藏代码

  1. this.requestWindowFeature(Window.FEATURE_INDETERMINATE_PROGRESS);  

  2. setContentView(R.layout.main);  

  3. getWindow().setFeatureInt(Window.FEATURE_INDETERMINATE_PROGRESS, R.layout.progress);  

  4. setProgressBarIndeterminateVisibility(true);  

 

Xml代码  收藏代码

  1. <?xml version="1.0" encoding="utf-8"?>  

  2. <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"  

  3.     android:layout_width="wrap_content"  

  4.     android:layout_height="wrap_content" >  

  5.   

  6.     <ProgressBar  

  7.         android:id="@+id/progress"  

  8.         style="?android:attr/progressBarStyleSmallTitle"  

  9.         android:layout_width="wrap_content"  

  10.         android:layout_height="wrap_content"  

  11.         android:layout_gravity="center_vertical" >  

  12.     </ProgressBar>  

  13.   

  14. </LinearLayout>  

  

3.FEATURE_LEFT_ICON和FEATURE_RIGHT_ICON详解

Java代码  收藏代码

  1. requestWindowFeature(Window.FEATURE_RIGHT_ICON);  

  2. setContentView(R.layout.main);      

  3. getWindow().setFeatureDrawableResource(Window.FEATURE_RIGHT_ICON,R.drawable.ic_launcher);  

 

Java代码  收藏代码

  1. requestWindowFeature(Window.FEATURE_LEFT_ICON);  

  2. setContentView(R.layout.main);          

  3. getWindow().setFeatureDrawableResource(Window.FEATURE_LEFT_ICON,R.drawable.ic_launcher);  

 

 

 4.FEATURE_NO_TITLE详解

Java代码  收藏代码

  1. this.requestWindowFeature(Window.FEATURE_NO_TITLE);  

  2. setContentView(R.layout.main);  

 

Java代码  收藏代码

  1. getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN, WindowManager.LayoutParams.FLAG_FULLSCREEN);  

 

转载于:https://my.oschina.net/u/2404790/blog/505215

你可能感兴趣的文章
rpm命令如何打印调试信息?
查看>>
以前的随笔已移至日记
查看>>
android 使用style修饰内容
查看>>
Mac入门教程之: Command键5个隐藏功能
查看>>
OpenCV中的神器Image Watch
查看>>
Java 多线程学习笔记
查看>>
CDMA.ANYDATA 短信接收注意事项(针对乱码问题)
查看>>
c语言 函数可变参数列表
查看>>
UML概述
查看>>
ListView优化-getView优化
查看>>
Firefox 按一下Alt键 出现菜单!
查看>>
zepto中的属性设置
查看>>
oracle复习
查看>>
浅谈软件系统的标准化和产品化
查看>>
C++中sizeof操作符与strlen函数
查看>>
中文名文件上传到linux服务器上以后文件名会乱码(openoffice)
查看>>
C#语言学习--基础部分(二) 方法重载
查看>>
阅读笔记《构建之法》一
查看>>
Android 虚拟机 程序安装目录
查看>>
深入学习Hive应用场景及架构原理
查看>>