`
jiguansheng
  • 浏览: 127641 次
  • 性别: Icon_minigender_1
  • 来自: 九江
社区版块
存档分类
最新评论

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全屏显示

 

分享到:
评论

相关推荐

    requestWindowFeature

    在Android开发中,`requestWindowFeature` 是一个非常关键的方法,它用于在Activity启动之前设置窗口特性。这个方法允许开发者自定义窗口的行为和外观,比如是否显示标题栏、是否全屏显示、是否有导航栏等。深入理解...

    requestWindowFeature对title的设置

    在Android开发中,`requestWindowFeature` 是一个非常重要的方法,它用于在Activity启动之前请求开启或关闭特定的窗口特性。这个方法通常在`onCreate`方法中的`setContentView`之前调用,因为它涉及到Activity窗口的...

    Android 中 requestWindowFeature()的应用

    在Android应用开发中,`requestWindowFeature()`是一个关键的方法,用于开启或关闭窗口的各种特性,以便根据需求定制应用程序的界面表现。这个方法主要用于Activity的窗口管理,它允许开发者在Activity启动之前设定...

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

    本文将深入探讨`requestWindowFeature()` 的应用及其在Android应用程序窗体显示状态操作中的作用。 首先,我们需要理解Android窗口系统的基本概念。每个Android应用都运行在一个Activity上,而Activity则承载了一个...

    Android蓝牙聊天示例应用程序使用.pdf

    requestWindowFeature(Window.FEATURE_CUSTOM_TITLE); setContentView(R.layout.main); getWindow().setFeatureInt(Window.FEATURE_CUSTOM_TITLE, R.layout.custom_title); ``` 这三行代码表明应用会加载自定义标题...

    Android 学习笔记——旋转模拟器方向,全屏,窗口生命周期

    2. 在Activity的代码中,使用`requestWindowFeature(Window.FEATURE_NO_TITLE)`和`getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN, WindowManager.LayoutParams.FLAG_FULLSCREEN)`来隐藏标题栏和...

    基于android环境的俄罗斯方块.pdf

    在文档中还出现了一些Android特定的API调用,比如requestWindowFeature用于在Activity窗口创建前设置一些特性,例如去除窗口的标题栏。setContentView用于设置Activity界面的布局。在ActivityGame类中,onPause和...

    Android 标题、状态栏的隐藏

    这两种元素是Android应用界面的重要组成部分,它们可以显示应用的标题、时间、电池状态等信息。但在某些场景下,如观看视频、浏览图片时,隐藏这些元素可以使屏幕空间得到更充分的利用。 #### 二、标题栏的隐藏 ...

    Ophone平台蓝牙编程之蓝牙聊天分析(一)

    - **BLUETOOTH** 和 **BLUETOOTH_ADMIN**:这两个权限对于蓝牙应用程序来说至关重要,分别允许应用程序访问蓝牙设备以及管理蓝牙设备。例如,如果没有BLUETOOTH_ADMIN权限,就无法扫描或连接到其他蓝牙设备。 #####...

    Android 设置应用全屏的两种解决方法

    在Android应用开发中,全屏显示是一个常见的需求,可以提供更好的用户体验,特别是在游戏或多媒体应用中。本篇文章将详细介绍两种实现Android应用全屏显示的方法:一种是通过代码动态设置,另一种是在应用程序的配置...

    蓝牙开发详解

    requestWindowFeature(Window.FEATURE_CUSTOM_TITLE); setContentView(R.layout.main); getWindow().setFeatureInt(Window.FEATURE_CUSTOM_TITLE, R.layout.custom_title); ``` 这里,`custom_title`是自定义标题栏...

    android资料

    首先,`requestWindowFeature()`是Android应用开发中的一个重要方法,它属于`Activity`类的一部分。这个函数的主要作用是开启或配置窗口的特定功能。在创建自定义布局或需要特殊窗口行为时,通常会用到这个方法。...

    android开发使用例子

    首先,我们来看如何为应用程序创建和删除桌面快捷方式。创建快捷方式的代码如下: ```java private void addShortcut() { Intent shortcut = new Intent("com.android.launcher.action.INSTALL_SHORTCUT"); ...

    分享Android平板电脑上开发应用程序不能全屏显示的问题解决

    requestWindowFeature(Window.FEATURE_NO_TITLE); getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN, WindowManager.LayoutParams.FLAG_FULLSCREEN); ``` 这两行代码分别取消了Activity的标题栏...

    android 取消标题

    在Android应用开发中,标题栏(Title Bar)通常用于显示应用程序的名称或提供一些操作选项。然而,在某些设计风格或特定场景下,开发者可能希望去除标题栏以获得更简洁的界面。本文将详细介绍两种在Android中取消...

    微博,百度地图,二维码

    例如,代码中的`requestWindowFeature(Window.FEATURE_NO_TITLE)`是一个Android API调用,用于隐藏Activity的标题栏,提供更纯净的界面体验。而`BMapManager`是百度地图SDK的核心组件,通过实例化它可以初始化并管理...

    android 标题属性

    首先,我们来看`requestWindowFeature()`函数,它是Android Activity中的一个关键方法,用于在窗口初始化之前启用或禁用特定的功能。在描述中提到的几个值,代表了不同的标题显示功能: 1. `DEFAULT_FEATURES`: 这...

    安卓蓝牙聊天软件

    通过`requestWindowFeature(Window.FEATURE_CUSTOM_TITLE)`,我们可以自定义窗口标题,然后使用`setContentView`加载主布局`main`,并且通过`getWindow().setFeatureInt(Window.FEATURE_CUSTOM_TITLE, R.layout....

    编写android拨打电话apk应用实例代码

    通过调用`requestWindowFeature(Window.FEATURE_NO_TITLE)`来隐藏应用程序的标题栏,然后使用`setContentView(R.layout.main)`加载XML布局文件。接着,我们找到ID为`btn_call`的拨打电话按钮和ID为`btn_sendMessage`...

Global site tag (gtag.js) - Google Analytics