`
webcode
  • 浏览: 6024859 次
  • 性别: 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);

分享到:
评论

相关推荐

    requestWindowFeature

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

    requestWindowFeature对title的设置

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

    Android 中 requestWindowFeature()的应用

    在Android应用开发中,我们经常需要对...总之,`requestWindowFeature()`是Android开发中不可或缺的一部分,它为我们提供了灵活控制应用窗口显示的能力。通过理解和实践,开发者能够创造出更具个性化的Android应用。

    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 标题、状态栏的隐藏

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

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

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

    【原创】Android锁定横竖屏、splash,全屏、去除标题的方法

    requestWindowFeature(Window.FEATURE_NO_TITLE); ``` 对于使用Material Design的App,可以在主题中设置`&lt;item name="android:windowNoTitle"&gt;true&lt;/item&gt;`。 以上内容涵盖了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(Window.FEATURE_NO_TITLE); getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN, WindowManager.LayoutParams.FLAG_FULLSCREEN); ``` 这两行代码分别取消了Activity的标题栏...

    android开发使用例子

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

    android 取消标题

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

    微博,百度地图,二维码

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

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

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

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

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

    安卓蓝牙聊天软件

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

    android资料

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

Global site tag (gtag.js) - Google Analytics