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()的应用)

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

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

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • IntelliJ IDEA 2021.3.3永久激活至2299年(亲测有效,持续更新)

    IDEA、Goland、WebStorm、Pycharm、Phpstorm、Datagrip、DataSpell、RubyMine、CLion、AppCode、Rider破解永久激活码教程到2299年

    2022年4月9日
    70.4K
  • NicEdit和Kindeditor配置

    NicEdit和Kindeditor配置推荐两款富文本编辑器:NicEdit和Kindeditor做过Web开发的朋友相信都使用过富文本编辑器,比较出名的CuteEditor和CKEditor很多人应该已经使用过,在功能强大的同时需要加载的东西也变得很多。下面要推荐的两款富文本编辑器都是使用JS编写,使用简单,非常轻量级。NicEditorNicEdit是一个轻量级,跨平台的InlineContentEditor…

    2022年10月12日
    2
  • 集锦——浏览器每次访问自动更新网页,不用手工设置,附Google/firefox/Ie

    在做开发web开发的时候,经常要使用到浏览器来着进行调试,那么有时候自己修改了内容,可是在浏览器上还是没有显示出来,费了好久才发现是浏览器缓存的问题。还要强制刷新缓存 就是 Ctrl + F5。所以在开发时候,最好将自己的调试浏览器设置为访问自动刷新网页,不要使用页面的缓存。下面就是常用开发浏览器的设置:1. Chrome 浏览器打开到开发者模式:将Disable cache

    2022年2月24日
    265
  • C/C++:long int与long long的区别

    C/C++:long int与long long的区别longint  longint即long,给人的感觉好像是长整型,但实际上,它和int一样,只有32位。cppreference给出的定义是——int-basicintegertype.Thekeywordintmaybeomittedifanyofthemodifierslistedbelowareused.Ifnolengthmodif…

    2022年6月6日
    56
  • 使用document对象操作cookie

    使用document对象操作cookie1.使用document对象的cookie属性,可以让你读取、添加和更新文档(当期HTML)所关联的cookie。2.当你读取document.cookie时,会得到当期文档的所有cookie。3.cookie的形式是如"name=value"的名值对。4.如果存在多个cookie一起返回,使用;隔开。“name1=value1;name2=value2”。所以对于添加和更新cooki…

    2022年7月27日
    3
  • 试述Hadoop的HDFS及其组成_hadoop命令和hdfs命令区别

    试述Hadoop的HDFS及其组成_hadoop命令和hdfs命令区别hdfs命令,hadoop基本常用命令

    2022年9月1日
    2

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

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