Android 03:如何控制Android应用程序的窗体显示.

转载 2015年08月06日 11:36:49

通常手机上的App打开后,该应用程序是全屏显示或者是自定义的标题、按钮,而我刚刚开始接触Android应用程序开发时,默认情况下是有标题栏的。今天就和大家一起分享下如何控制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.FEATURE_CUSTOM_TITLE详解
FEATURE_CUSTOM_TITLE:自定义标题。当需要自定义标题时必须指定。如:标题是一个按钮时

this.requestWindowFeature(Window.FEATURE_CUSTOM_TITLE);  
setContentView(R.layout.main); 
getWindow().setFeatureInt(Window.FEATURE_CUSTOM_TITLE, R.layout.title);

title.xml:

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="vertical" >
    <TextView  
        android:layout_width="match_parent" 
        android:layout_height="wrap_content" 
        android:text="这是自定义标题设置"
        android:textColor="#ffffff"
        android:layout_gravity="center"
        android:layout_alignParentLeft="true"
        android:textSize="12sp"/>

</LinearLayout>

运行之后可能会出现错误:
You cannot combine custom titles with other title features
这是因为一个activity设置了两个title,解决的方法:
在manifest文件中,修改android:theme=”@style/android:Theme.Light”
效果如图:

2.FEATURE_INDETERMINATE_PROGRESS详解
FEATURE_INDETERMINATE_PROGRESS:一般用来表示一个进度正在进行

this.requestWindowFeature(Window.FEATURE_INDETERMINATE_PROGRESS);  
setContentView(R.layout.main);  
getWindow().setFeatureInt(Window.FEATURE_INDETERMINATE_PROGRESS, R.layout.title);  
setProgressBarIndeterminateVisibility(true);  

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" >  

    <ProgressBar  
        android:id="@+id/progress"  
        style="?android:attr/progressBarStyleSmallTitle"  
        android:layout_width="wrap_content"  
        android:layout_height="wrap_content"  
        android:layout_gravity="center_vertical" >  
    </ProgressBar>  

</LinearLayout>  

效果如图:

3.FEATURE_LEFT_ICON和FEATURE_RIGHT_ICON详解
标题栏左侧/右侧的图标

requestWindowFeature(Window.FEATURE_RIGHT_ICON);  
setContentView(R.layout.main);      
getWindow().setFeatureDrawableResource(Window.FEATURE_LEFT_ICON,R.drawable.ic_launcher);

效果如图:

4.FEATURE_NO_TITLE详解
无标题

this.requestWindowFeature(Window.FEATURE_NO_TITLE);  
setContentView(R.layout.main); 

效果:

this.requestWindowFeature(Window.FEATURE_NO_TITLE);  
setContentView(R.layout.main); 
getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN, WindowManager.LayoutParams.FLAG_FULLSCREEN);

全屏效果:

上述代码运行之后可能会出现错误:
You cannot combine custom titles with other title features
这是因为一个activity设置了两个title,解决的方法:
在manifest文件中,修改android:theme=”@style/android:Theme.Light”

主题:requestWindowFeature(featrueId),如何控制Android应用程序的窗体显示

偶然间发现这个帖子,感觉还不错,现在贴出来和大家共享~ 我们在开发程序是经常会需要软件全屏显示、自定义标题(使用按钮等控件)和其他的需求,今天这一讲就是如何控制Android应用程序的窗体显示....
  • jokeHello
  • jokeHello
  • 2011年11月11日 15:18
  • 444

Android应用程序窗体显示

Android实现全屏方法以下几种:      1.设置主题(theme)XML中          在AndroidManifest.xml中 若应用整个应用 需在中添加 例:           ...
  • gao8wen
  • gao8wen
  • 2011年01月04日 16:48
  • 319

android 应用程序结构是哪些

android 应用程序结构
  • xiaopihair123
  • xiaopihair123
  • 2016年11月13日 15:14
  • 1783

【原创】Android之应用程序的组成部分

Android架构里定义了4种应用程序构件,用户的Android应用程序都是由这4种构件组成,他们分别是Activity(活动)、Service(服务)、BroadcastReceiver(广播接收器...
  • our2848884
  • our2848884
  • 2017年04月17日 15:30
  • 440

Android应用程序分类

在安卓中创建的大部应用程序大致属于下面的一种: 前台应用程序:只能在前台运行的应用,不见时就会挂起,比如游戏,这几天正在玩的“贪吃蛇大作战”就是这样一种前台应用,它在玩的时候不能够按...
  • haha223545
  • haha223545
  • 2016年10月11日 14:59
  • 443

【读书笔记】 Android 应用程序的安装和显示过程

这是罗升阳的《Android 系统源代码情景分析》一书中第16章,Android 应用程序的安装和显示过程,一章的摘要。 一、应用程序的安装过程 PackageManagerService...
  • yxhuang2008
  • yxhuang2008
  • 2016年06月29日 22:57
  • 791

Android应用程序核心-应用程序的基本组件

Android应用程序没有唯一的启动入口(如C语言中的main()函数入口),一个Android应用程序是由多个不同的组件组合而成,组件之间通过Intent来实现通信。     Android系统的...
  • yuzhongchun
  • yuzhongchun
  • 2012年10月22日 19:16
  • 3167

Android应用程序窗体显示状态requestWindowFeature()

我们在开发程序是经常会需要软件全屏显示、自定义标题(使用按钮等控件)和其他的需求,今天这一讲就是如何控制Android应用程序的窗体显示.   首先介绍一个重要方法那就是requestWindowF...
  • mpt_android
  • mpt_android
  • 2015年08月28日 20:28
  • 178

Android安全机制分析,及应用程序签名机制

原文链接:http://www.2cto.com/Article/201308/237263.html Android安全机制分析 Android系统是基于Linux内核开发的,因此,Androi...
  • zhao3546
  • zhao3546
  • 2013年09月04日 15:06
  • 7552

测试你的Android应用程序

Android给我们提供了一个完整的测试框架,使得我们可以从不同的层次对应用进行全方位的测试,包括单元测试,框架测试、ui自动化测试等等。Android测试架构如图所示:构建JUnit测试所有的And...
  • qinjunni2014
  • qinjunni2014
  • 2015年05月20日 00:04
  • 776
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:Android 03:如何控制Android应用程序的窗体显示.
举报原因:
原因补充:

(最多只允许输入30个字)