转自: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()的应用)相关推荐

  1. android中设置菜单栏,android – 菜单项没有显示在操作栏

    我做了一个全新的项目.我已经添加了项目到菜单布局文件.这些项目不会显示在操作栏的右侧.我记得一个有三个点的图标显示出来,打开菜单. 这里是我的活动 public class MainActivity ...

  2. android查询mysql并显示_Android操作SQLite数据库(增、删、改、查、分页等)及ListView显示数据的方法详解...

    本文实例讲述了Android操作SQLite数据库(增.删.改.查.分页等)及ListView显示数据的方法.分享给大家供大家参考,具体如下: 由于刚接触android开发,故此想把学到的基础知识记录 ...

  3. android 检测广告代码,Admob测试广告未在Android应用程序中显示(示例代码)

    正如标题所述,我正在尝试将admob广告应用到我的应用程序中,但是当我使用测试广告时,他们没有显示. 启动画面活动: base.OnCreate(savedInstanceState); //Ensu ...

  4. png jpg android,PNG vs JPG,用于在Android应用程序中显示图片(而非图标)

    在开始我的问题之前,请先让我说清楚,对于图标等,png是Android中的首选格式. >我的问题是在显示大图像(图片或照片)时,首选格式是什么?我正在尝试查看是否可以使用jpg图像,因为它们的尺 ...

  5. android 标题样式,Android定义各种样式的标题栏:requestWindowFeature()

    最近在网上看到一篇介绍Android window的requestWindowFeature()的使用方法,共享出来大家学习学习 requestWindowFeature(Window.FEATURE ...

  6. 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应用程序中显示一个全 ...

  7. 添加面部跟踪和实时识别到您的Android应用程序

    今天的相机应用可以做的不仅仅是拍完美的照片.无论是添加过滤器到您的图像或让您调整焦点和手动曝光,应用程序可以从根本上把你变成一个专业摄影师.虽然应用商店中的众多应用程序让你用相机做很多事情,还有其他人 ...

  8. android 显示数学函数,MathView,在Android应用中,显示数学公式的库,下载MathView的源码_GitHub_开发99...

    MathView MathView 是第三方视图库,它可以帮助你更轻松地在Android应用程序上显示数学公式. 两个渲染引擎可用:MathJax 和 KaTeX. 支持Android版本 4.1 ( ...

  9. Android 11 显示状态与背光亮度调整

    Power状态更新 主要在PowerManagerService.java,根据系统状态更新下次update的时间,遍历wakelock状态更新显示状态等 一.函数updatePowerStateLo ...

最新文章

  1. 麦当劳数字化转型中获得的6个数据科学经验
  2. 让博客园的编辑器自动上传外链图片
  3. 两根硬铜线并线接插座_高级电工原来都这样接电线,手法还没见过,我也立马学...
  4. package.json mysql_package.json入门
  5. c语言指针++_C ++此指针| 查找输出程序| 套装3
  6. java中多线程模拟(多生产,多消费,Lock实现同步锁,替代synchronized同步代码块)...
  7. java控制关键字continue,break,return
  8. vuejs项目如何修改node_mudule为公用文件?
  9. POJ-3422-Kaka's Matrix Travels(最小费用最大流)
  10. 云计算技术体系结构介绍
  11. Redis穿透、击穿、雪崩解决方案
  12. Python中的Counter.most_common()方法
  13. EMI测试——CE(传导干扰)测试
  14. day13课后总结App
  15. 一封来自大佬的密信待查收
  16. 如何将图片文字转换成文本?
  17. 麒麟V10系统-wps提示不小心挂掉了
  18. 阿里云服务器CentOS搭建
  19. idea 启动参数设置
  20. 图像分割:DeepLabV3与DeepLabV3+介绍

热门文章

  1. 玩音乐,敲架子鼓,一个被“耽误了”的机器学习高手
  2. AI一分钟|美团推出无人配送开放平台,有望提高配送效率;福特成立自动驾驶汽车公司,投资40亿美元...
  3. 百度燎原计划2018强势回归 开放深度学习工程师评价标准
  4. SpringBoot+SpringSecurity前后端分离+Jwt的权限认证(改造记录)
  5. MySql批量插入时,如何不插入重复的数据
  6. 一文带你领略并发编程的内功心法
  7. 值得深思的问题——分库分表就能无限扩容吗?
  8. 现金奖励+实习offer!数据库大赛来了
  9. 让机器“看见”:图像数据的特征提取方法
  10. 图像数据读取及数据扩增方法