`
woshixushigang
  • 浏览: 562205 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类

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

阅读更多

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

我们在开发程序是经常会需要软件全屏显示、自定义标题(使用按钮等控件)和其他的需求,今天这一讲就是如何控制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全屏显示

 

<!--end: topics 文章、评论容器-->

<!--done-->

 

分享到:
评论

相关推荐

    android应用程序窗体显示状态操作

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

    Android 中 requestWindowFeature()的应用

    本文主要介绍 Android requestWindowFeature()方法,这里对 requestWindowFeature()方法进行详解,对应用程序窗体显示状态的操作有进一步了解,希望能帮助有需要的小伙伴

    requestWindowFeature

    requestWindowFeature实验的源码,有助于理解requestWindowFeature

    Android 去掉状态栏的方法汇总

    在实际的应用程序开发中,我们有时需要把 Activity 设置成全屏显示,一般情况下,可以通过两种方式来设置全屏显示效果: 其一,通过在代码中可以设置, 其二,通过manifest配置文件来设置全屏。 其一:在代码...

    透明与窗体的设置

    PS1:如果只是将Acticity显示为默认的Dialog, 跳过第一步,只需要在manifest文中增加属性:android:theme="@android:style/Theme.Dialog"或者在程序中增加setTheme(android.R.style.Theme_Dialog). PS2:其他创建...

    android开发使用例子

    //调用系统相机应用程序,并存储拍下来的照片 Intent intent = new Intent(MediaStore.ACTION_IMAGE_CAPTURE); time = Calendar.getInstance().getTimeInMillis(); intent.putExtra(MediaStore.EXTRA_OUTPUT, Uri....

    requestWindowFeature对title的设置

    NULL 博文链接:https://username2.iteye.com/blog/2183813

    android 照相机

    设置屏幕显示为全屏、高亮 Window window = getWindow(); requestWindowFeature(Window.FEATURE_NO_TITLE);//没有标题 window.setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN,WindowManager.LayoutParams...

    一个全屏显示的Android注册界面示例

    一个简单的Android注册界面,在注册时支持全屏显示,通过下列两句实现:getWindow().setFlags...隐去状态栏部分电池等图标和一切修饰部分,requestWindowFeature(Window.FEATURE_NO_TITLE);隐去标题栏程序名称等信息。

    Android程序设计课程报告.doc

    Android程序设计课程报告 "题 目: "360安全卫士 " "专 业: "软件工程 " "姓名 " "学 号: " " 1. 系统功能 1. 手机防盗 手机防盗主要实现对手机的保护,进入"手机防盗"模块,提示用户设置手 机保护密码,设置密码...

    Android 实现全屏显示的几种方法整理

    Android 实现全屏显示的几种方法整理 A、设置主题实现全屏 直接在AndroidManifest.xml文件中设定Activity主题为全屏模式 android:theme=@android:style/Theme.NoTitleBar.Fullscreen B、代码实现全屏 代码实现需要...

    requestWindowFeature设置窗口标题栏.txt

    requestWindowFeature设置窗口标题栏

    Android 日期控件只显示年月

    public class Android_DateActivity extends Activity implements OnClickListener { /** Called when the activity is first created. */ private Button button; private TextView textview; private Dialog ...

    android百度地图

    android百度地图 import com.baidu.mapapi.SDKInitializer; import com.baidu.mapapi.map.BaiduMap; import com.baidu.mapapi.map.MapView; import android.app.Activity; import android.os.Bundle; import ...

    隐藏状态栏

    G1的屏幕的分辨率是320×480,虽说不小但也谈不上大,所以有的应用要使用起来,最好还是希望把状态栏(Status Bar)和标题栏(Title Bar)也隐藏了,这样就可以有更大的屏幕空间给应用程序。 view plaincopy to ...

    Android编程之界面实现全屏显示的方法(2种方法)

    在开发android的应用当中,我们会遇到将一些界面设置为全屏显示的格式,有两种实现的方法。其一是在Java代码中实现,其二是在配置文件中实现。 1. 在Java代码中设置 super.onCreate(savedInstanceState); ...

    android 中去掉窗口全屏显示的简单方法

    代码如下: //去掉窗口 requestWindowFeature(Window.FEATURE_NO_TITLE);(一定要放在setContentView(R.layout.main)的前面) //全屏显示 getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN, ...

    Android Studio实现标题栏和状态栏的隐藏

    Android Studio在实现隐藏标题栏和状态栏上和Eclipse是完全不一样的。 在Eclipse上隐藏标题栏和状态栏的代码如下: 方法一: requestWindowFeature(Window.FEATURE_NO_TITLE); 方法二:getWindow().setFlags...

    Android 4.4.2 横屏应用隐藏状态栏和底部虚拟键的方法

    requestWindowFeature(Window.FEATURE_NO_TITLE); //隐藏状态栏 getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN,WindowManager.LayoutParams.FLAG_FULLSCREEN); //隐藏拟按键 getWindow()....

Global site tag (gtag.js) - Google Analytics