Android 应用程序窗体显示状态操作(requestWindowFeature()的应用)
转自:http://www.cnblogs.com/salam/archive/2010/11/30/1892143.html
我们在开发程序是经常会需要软件全屏显示、自定义标题(使用按钮等控件)和其他的需求,今天这一讲就是如何控制Android应用程序的窗体显示.
首先介绍一个重要方法那就是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默认
1.FEATURE_CUSTOM_TITLE详解
this.requestWindowFeature(Window.FEATURE_CUSTOM_TITLE);
setContentView(R.layout.main);
图2 无标题
这是因为没设置Featrue
在上面代码后加:getWindow().setFeatureInt(Window.FEATURE_CUSTOM_TITLE, R.layout.title);
图3自定义标题
自定义标题完成,它是一个xml文件布局
title.xml
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="wrap_content"
android:layout_height="wrap_content" >
<ImageView android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:src="@drawable/icon"/>
<TextView android:id="@+id/text"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentLeft="true"
android:text="文本" />
</LinearLayout>
3.FEATURE_INDETERMINATE_PROGRESS详解
表示一个进程正在运行
图4标题进度条显示
实现代码
1.progress.xml
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="wrap_content"
android:layout_height="wrap_content">
<ProgressBar android:id="@+id/progress"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center_vertical"
style="?android:attr/progressBarStyleSmallTitle">
</ProgressBar>
</LinearLayout>
2.Java代码
this.requestWindowFeature(Window.FEATURE_INDETERMINATE_PROGRESS);
setContentView(R.layout.main);
getWindow().setFeatureInt(Window.FEATURE_INDETERMINATE_PROGRESS, R.layout.progress);
setProgressBarIndeterminateVisibility(true);
3.FEATURE_LEFT_ICON详解
左侧显示图标
图5
实现代码
this.requestWindowFeature(Window.FEATURE_LEFT_ICON);
setContentView(R.layout.main);
getWindow().setFeatureDrawableResource(Window.FEATURE_LEFT_ICON, R.drawable.icon);
4.FEATURE_NO_TITLE详解
可用于全屏显示
实现代码
this.requestWindowFeature(Window.FEATURE_NO_TITLE);
setContentView(R.layout.main);
getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN, WindowManager.LayoutParams.FLAG_FULLSCREEN);
图6全屏显示
Android 应用程序窗体显示状态操作(requestWindowFeature()的应用)相关推荐
- android中设置菜单栏,android – 菜单项没有显示在操作栏
我做了一个全新的项目.我已经添加了项目到菜单布局文件.这些项目不会显示在操作栏的右侧.我记得一个有三个点的图标显示出来,打开菜单. 这里是我的活动 public class MainActivity ...
- android查询mysql并显示_Android操作SQLite数据库(增、删、改、查、分页等)及ListView显示数据的方法详解...
本文实例讲述了Android操作SQLite数据库(增.删.改.查.分页等)及ListView显示数据的方法.分享给大家供大家参考,具体如下: 由于刚接触android开发,故此想把学到的基础知识记录 ...
- android 检测广告代码,Admob测试广告未在Android应用程序中显示(示例代码)
正如标题所述,我正在尝试将admob广告应用到我的应用程序中,但是当我使用测试广告时,他们没有显示. 启动画面活动: base.OnCreate(savedInstanceState); //Ensu ...
- png jpg android,PNG vs JPG,用于在Android应用程序中显示图片(而非图标)
在开始我的问题之前,请先让我说清楚,对于图标等,png是Android中的首选格式. >我的问题是在显示大图像(图片或照片)时,首选格式是什么?我正在尝试查看是否可以使用jpg图像,因为它们的尺 ...
- android 标题样式,Android定义各种样式的标题栏:requestWindowFeature()
最近在网上看到一篇介绍Android window的requestWindowFeature()的使用方法,共享出来大家学习学习 requestWindowFeature(Window.FEATURE ...
- android 360状态栏显示,如何从Android应用程序显示360全景(How to display a 360 panorama from android application)...
如何从Android应用程序显示360全景(How to display a 360 panorama from android application) 我想从我的Android应用程序中显示一个全 ...
- 添加面部跟踪和实时识别到您的Android应用程序
今天的相机应用可以做的不仅仅是拍完美的照片.无论是添加过滤器到您的图像或让您调整焦点和手动曝光,应用程序可以从根本上把你变成一个专业摄影师.虽然应用商店中的众多应用程序让你用相机做很多事情,还有其他人 ...
- android 显示数学函数,MathView,在Android应用中,显示数学公式的库,下载MathView的源码_GitHub_开发99...
MathView MathView 是第三方视图库,它可以帮助你更轻松地在Android应用程序上显示数学公式. 两个渲染引擎可用:MathJax 和 KaTeX. 支持Android版本 4.1 ( ...
- Android 11 显示状态与背光亮度调整
Power状态更新 主要在PowerManagerService.java,根据系统状态更新下次update的时间,遍历wakelock状态更新显示状态等 一.函数updatePowerStateLo ...
最新文章
- 麦当劳数字化转型中获得的6个数据科学经验
- 让博客园的编辑器自动上传外链图片
- 两根硬铜线并线接插座_高级电工原来都这样接电线,手法还没见过,我也立马学...
- package.json mysql_package.json入门
- c语言指针++_C ++此指针| 查找输出程序| 套装3
- java中多线程模拟(多生产,多消费,Lock实现同步锁,替代synchronized同步代码块)...
- java控制关键字continue,break,return
- vuejs项目如何修改node_mudule为公用文件?
- POJ-3422-Kaka's Matrix Travels(最小费用最大流)
- 云计算技术体系结构介绍
- Redis穿透、击穿、雪崩解决方案
- Python中的Counter.most_common()方法
- EMI测试——CE(传导干扰)测试
- day13课后总结App
- 一封来自大佬的密信待查收
- 如何将图片文字转换成文本?
- 麒麟V10系统-wps提示不小心挂掉了
- 阿里云服务器CentOS搭建
- idea 启动参数设置
- 图像分割:DeepLabV3与DeepLabV3+介绍
热门文章
- 玩音乐,敲架子鼓,一个被“耽误了”的机器学习高手
- AI一分钟|美团推出无人配送开放平台,有望提高配送效率;福特成立自动驾驶汽车公司,投资40亿美元...
- 百度燎原计划2018强势回归 开放深度学习工程师评价标准
- SpringBoot+SpringSecurity前后端分离+Jwt的权限认证(改造记录)
- MySql批量插入时,如何不插入重复的数据
- 一文带你领略并发编程的内功心法
- 值得深思的问题——分库分表就能无限扩容吗?
- 现金奖励+实习offer!数据库大赛来了
- 让机器“看见”:图像数据的特征提取方法
- 图像数据读取及数据扩增方法