Android 应用程序窗口显示状态操作(requestWindowFeature()的应用)

Android 应用程序窗口显示状态操作(requestWindowFeature()的应用)



我们在开发程序是常常会须要软件全屏显示、自己定义标题(使用button等控件)和其它的需求,今天这一讲就是怎样控制Android应用程序的窗口显示.

  首先介绍一个重要方法那就是requestWindowFeature(featrueId),它的功能是启用窗口的扩展特性。

參数是Window类中定义的常量。

一、枚举常量

1.DEFAULT_FEATURES:系统默认状态。一般不须要指定

2.FEATURE_CONTEXT_MENU:启用ContextMenu,默认该项已启用,一般无需指定

3.FEATURE_CUSTOM_TITLE:自己定义标题。当须要自己定义标题时必须指定。如:标题是一个button时

4.FEATURE_INDETERMINATE_PROGRESS:不确定的进度

5.FEATURE_LEFT_ICON:标题栏左側的图标

6.FEATURE_NO_TITLE:吴标题

7.FEATURE_OPTIONS_PANEL:启用“选项面板”功能,默认已启用。

8.FEATURE_PROGRESS:进度指示器功能

9.FEATURE_RIGHT_ICON:标题栏右側的图标


 

二、具体解释

默认显示状态

Android 应用程序窗口显示状态操作(requestWindowFeature()的应用)

图1默认

1.FEATURE_CUSTOM_TITLE具体解释

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

 

Android 应用程序窗口显示状态操作(requestWindowFeature()的应用)

图2 无标题

 

这是由于没设置Featrue

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

Android 应用程序窗口显示状态操作(requestWindowFeature()的应用) 

图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具体解释

表示一个进程正在执行

Android 应用程序窗口显示状态操作(requestWindowFeature()的应用)

    图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具体解释

左側显示图标

Android 应用程序窗口显示状态操作(requestWindowFeature()的应用)

图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);

 Android 应用程序窗口显示状态操作(requestWindowFeature()的应用)

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/109193.html原文链接:https://javaforall.cn

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)
blank

相关推荐

发表回复

您的电子邮箱地址不会被公开。

关注全栈程序员社区公众号