我们在开发程序是经常会需要软件全屏显示、自定义标题(使用按钮等控件)和其他的需求,今天这一讲就是如何控制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全屏显示
分享到:
相关推荐
在Android开发中,`requestWindowFeature` 是一个非常关键的方法,它用于在Activity启动之前设置窗口特性。这个方法允许开发者自定义窗口的行为和外观,比如是否显示标题栏、是否全屏显示、是否有导航栏等。深入理解...
在Android开发中,`requestWindowFeature` 是一个非常重要的方法,它用于在Activity启动之前请求开启或关闭特定的窗口特性。这个方法通常在`onCreate`方法中的`setContentView`之前调用,因为它涉及到Activity窗口的...
在Android应用开发中,`requestWindowFeature()`是一个关键的方法,用于开启或关闭窗口的各种特性,以便根据需求定制应用程序的界面表现。这个方法主要用于Activity的窗口管理,它允许开发者在Activity启动之前设定...
本文将深入探讨`requestWindowFeature()` 的应用及其在Android应用程序窗体显示状态操作中的作用。 首先,我们需要理解Android窗口系统的基本概念。每个Android应用都运行在一个Activity上,而Activity则承载了一个...
requestWindowFeature(Window.FEATURE_CUSTOM_TITLE); setContentView(R.layout.main); getWindow().setFeatureInt(Window.FEATURE_CUSTOM_TITLE, R.layout.custom_title); ``` 这三行代码表明应用会加载自定义标题...
2. 在Activity的代码中,使用`requestWindowFeature(Window.FEATURE_NO_TITLE)`和`getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN, WindowManager.LayoutParams.FLAG_FULLSCREEN)`来隐藏标题栏和...
在文档中还出现了一些Android特定的API调用,比如requestWindowFeature用于在Activity窗口创建前设置一些特性,例如去除窗口的标题栏。setContentView用于设置Activity界面的布局。在ActivityGame类中,onPause和...
这两种元素是Android应用界面的重要组成部分,它们可以显示应用的标题、时间、电池状态等信息。但在某些场景下,如观看视频、浏览图片时,隐藏这些元素可以使屏幕空间得到更充分的利用。 #### 二、标题栏的隐藏 ...
- **BLUETOOTH** 和 **BLUETOOTH_ADMIN**:这两个权限对于蓝牙应用程序来说至关重要,分别允许应用程序访问蓝牙设备以及管理蓝牙设备。例如,如果没有BLUETOOTH_ADMIN权限,就无法扫描或连接到其他蓝牙设备。 #####...
在Android应用开发中,全屏显示是一个常见的需求,可以提供更好的用户体验,特别是在游戏或多媒体应用中。本篇文章将详细介绍两种实现Android应用全屏显示的方法:一种是通过代码动态设置,另一种是在应用程序的配置...
requestWindowFeature(Window.FEATURE_CUSTOM_TITLE); setContentView(R.layout.main); getWindow().setFeatureInt(Window.FEATURE_CUSTOM_TITLE, R.layout.custom_title); ``` 这里,`custom_title`是自定义标题栏...
首先,`requestWindowFeature()`是Android应用开发中的一个重要方法,它属于`Activity`类的一部分。这个函数的主要作用是开启或配置窗口的特定功能。在创建自定义布局或需要特殊窗口行为时,通常会用到这个方法。...
首先,我们来看如何为应用程序创建和删除桌面快捷方式。创建快捷方式的代码如下: ```java private void addShortcut() { Intent shortcut = new Intent("com.android.launcher.action.INSTALL_SHORTCUT"); ...
requestWindowFeature(Window.FEATURE_NO_TITLE); getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN, WindowManager.LayoutParams.FLAG_FULLSCREEN); ``` 这两行代码分别取消了Activity的标题栏...
在Android应用开发中,标题栏(Title Bar)通常用于显示应用程序的名称或提供一些操作选项。然而,在某些设计风格或特定场景下,开发者可能希望去除标题栏以获得更简洁的界面。本文将详细介绍两种在Android中取消...
例如,代码中的`requestWindowFeature(Window.FEATURE_NO_TITLE)`是一个Android API调用,用于隐藏Activity的标题栏,提供更纯净的界面体验。而`BMapManager`是百度地图SDK的核心组件,通过实例化它可以初始化并管理...
首先,我们来看`requestWindowFeature()`函数,它是Android Activity中的一个关键方法,用于在窗口初始化之前启用或禁用特定的功能。在描述中提到的几个值,代表了不同的标题显示功能: 1. `DEFAULT_FEATURES`: 这...
通过`requestWindowFeature(Window.FEATURE_CUSTOM_TITLE)`,我们可以自定义窗口标题,然后使用`setContentView`加载主布局`main`,并且通过`getWindow().setFeatureInt(Window.FEATURE_CUSTOM_TITLE, R.layout....
通过调用`requestWindowFeature(Window.FEATURE_NO_TITLE)`来隐藏应用程序的标题栏,然后使用`setContentView(R.layout.main)`加载XML布局文件。接着,我们找到ID为`btn_call`的拨打电话按钮和ID为`btn_sendMessage`...