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)


相关推荐

  • 使用RSS实现自动动漫更新提醒及下载(追番)

    使用RSS实现自动动漫更新提醒及下载(追番)喜欢追动漫番并且喜欢下载下来看和收藏的各位应该都有个觉得不方便的地方,那就是每天都得跑去下载的网站进行查看追的剧是否更新。而这并不是难受的地方,更麻烦的是还要记每部剧上个星期放到了第几集,有时候忘记看了,下个星期跳过了一集下载下来,打开看了才发现,然后还得回去下,这真是gay得一批。。好吧闲话有点多了。进入正题吧。作为程序狗的各位对这种需求自然有自己的解决办法,自己写程序进行定时检查是最直接

  • centos7安装yum[通俗易懂]

    centos7安装yum[通俗易懂]centos7系统yum卸载后重新安装1.rpm包准备yum卸载后软件安装很麻烦,重新安装yum,先把相关rpm包下载下来,传到服务器。下载地址:http://mirrors.163.com/centos/7/os/x86_64/Packages/(我的是centos764位,所以是这个路径,看网址就可以知道每个路径是干嘛的,下载自己版本所需的即可,各个包小版本有变化,注意进行选择)…

  • 串行通信(USART/UART)「建议收藏」

    串行通信(USART/UART)「建议收藏」USART支持同步模式,因此USART需要同步始终信号USART_CK(如STM32单片机),通常情况同步信号很少使用,因此一般的单片机UART和USART使用方式是一样的,都使用异步模式。UART作为串口的一种,其工作原理也是将数据一位一位的进行传输,发送和接收各用一条线,因此通过UART接口与外界相连最少只需要三条线:TXD(发送)、RXD(接收)和GND(地线)**空闲位:**数据线在空闲状态的时候为逻辑“1”状态,也就是高电平,表示没有数据线空闲,没有数据传输。**起始位:**.

  • 半年从转行软件测试到产品经理

    背景介绍本人一个普通二本,浪费了四年时间,毕业年龄就比同学大几岁,输在起跑线上,最可悲的是第一份工作也是随大流,完全放弃了自己的专业,什么东西也没学到,关键这一呆就是三年,浑浑噩噩过日子,根本不清楚自己的方向在哪里,想要什么样的生活!刚毕业自己就背负房贷,一个月3000多的工资,过的就是中国最底层的生活,就这样我忍耐了三年,女朋友作为其他公司的HR实在看不下自己的生活方

  • harris角点检测_那就更详细一点吧

    harris角点检测_那就更详细一点吧1.不同类型的角点在现实世界中,角点对应于物体的拐角,道路的十字路口、丁字路口等。从图像分析的角度来定义角点可以有以下两种定义:角点可以是两个边缘的角点; 角点是邻域内具有两个主方向的特征点;前者往往需要对图像边缘进行编码,这在很大程度上依赖于图像的分割与边缘提取,具有相当大的难度和计算量,且一旦待检测目标局部发生变化,很可能导致操作的失败。早期主要有Rosenfeld和Freema…

  • 【HDU】4888 Redraw Beautiful Drawings 网络流【推断解是否唯一】

    【HDU】4888 Redraw Beautiful Drawings 网络流【推断解是否唯一】

发表回复

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

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