我们在开发程序是经常会需要软件全屏显示、自定义标题(使用按钮等控件)和其他的需求,今天这一讲就是如何控制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全屏显示
摘自:http://www.cnblogs.com/salam/archive/2010/11/30/1892143.html
http://www.cnblogs.com/abinxm/archive/2011/11/15/2249346.html
分享到:
相关推荐
本文将深入探讨`requestWindowFeature()` 的应用及其在Android应用程序窗体显示状态操作中的作用。 首先,我们需要理解Android窗口系统的基本概念。每个Android应用都运行在一个Activity上,而Activity则承载了一个...
`Window` 类的实现包括了`PhoneWindow` 和`DecorView` 等组件,它们共同协作构建出Android应用的视觉层次。`PhoneWindow` 是`Activity` 默认使用的`Window` 类,它负责处理`requestWindowFeature` 请求,并将这些...
在Android应用开发中,`requestWindowFeature()`是一个关键的方法,用于开启或关闭窗口的各种特性,以便根据需求定制应用程序的界面表现。这个方法主要用于Activity的窗口管理,它允许开发者在Activity启动之前设定...
总之,`requestWindowFeature`是Android开发中控制Activity窗口特性的关键方法,通过它可以实现标题栏的显示与隐藏、全屏模式以及其他窗口功能的启用。正确使用该方法,可以有效地定制Activity的外观,提升用户体验...
首先,我们需要了解在Android应用中使用蓝牙功能的基本配置。在`AndroidManifest.xml`文件中,必须声明相应的权限才能使用蓝牙。在这个例子中,我们看到有以下两行权限声明: ```xml <uses-permission android:name...
在Android应用开发中,隐藏或显示标题栏、状态栏以及导航栏是常见的需求,这有助于创建沉浸式用户体验或者根据设计需求调整界面布局。本篇将深入探讨如何在Android中实现这些功能。 首先,我们来讨论如何隐藏和显示...
Android 操作系统中,状态栏和标题栏是默认情况下显示的,但是有时候,我们需要隐藏它们以实现全屏效果。隐藏状态栏和标题栏可以通过两种方式来实现:使用预定义样式和编程方式。 使用预定义样式隐藏标题栏和状态栏...
在传统的Android应用中,标题栏通常包含应用程序的图标、应用名称或操作菜单。在Xamarin中,我们可以通过修改主题(Theme)来控制标题栏的显示与否。Android的主题是在`res/values/styles.xml`文件中定义的。 步骤1...
这两种元素是Android应用界面的重要组成部分,它们可以显示应用的标题、时间、电池状态等信息。但在某些场景下,如观看视频、浏览图片时,隐藏这些元素可以使屏幕空间得到更充分的利用。 #### 二、标题栏的隐藏 ...
在Android平台上进行应用开发时,有时会遇到应用程序无法在平板电脑上全屏显示的问题,这通常是由于设备的屏幕尺寸适配不当或者系统默认设置导致的。本文将详细讲解如何解决这个问题,以及提供相关的代码示例。 ...
Eclipse是一个集成开发环境(IDE),在本文件中提到与Android开发相关,其实在Android开发早期版本中常与Android Development Tools(ADT)插件一起使用,用于编写、编译和调试Android应用代码。Google是美国的科技...
Android五种隐藏状态栏和标题栏的方法是Android应用程序中常用的技术,通过隐藏状态栏和标题栏,可以使应用程序的界面更加简洁美观。下面将详细介绍五种隐藏状态栏和标题栏的方法。 方法一:使用 ...
在传统的Android应用中,标题栏(ActionBar或Toolbar)位于界面顶部,显示应用的图标、标题以及一些操作按钮。为了隐藏标题栏,开发者可以使用以下几种方法: 1. **XML布局中设置**:在布局文件中,可以为根视图...
本篇文章将详细介绍两种实现Android应用全屏显示的方法:一种是通过代码动态设置,另一种是在应用程序的配置文件中静态配置。 **一、在代码中设置** 在代码中设置全屏通常在`Activity`的`onCreate()`方法中完成。...
- `@android:style/Theme.NoTitleBar.Fullscreen`:不显示应用程序标题栏,并全屏显示。 - `@android:style/Theme.Light`:背景为白色。 - `@android:style/Theme.Light.NoTitleBar`:白色背景并无标题栏。 - `@...
另外,如果仅需将Activity显示为默认的Dialog,可以简化配置,即只需设置`android:theme="@android:style/Theme.Dialog"`或调用`setTheme(android.R.style.Theme_Dialog)`。 ##### 其他创建Dialog的方法 - 使用`...
在Android应用开发中,Action Bar是一个非常重要的组件,它位于应用程序界面的顶部,提供了一种标准的方式来展示应用程序的标识、主要的操作以及一个可选的下拉菜单,通常用于导航。本篇文章将深入探讨如何在Android...
在实际的应用程序开发中,我们有时需要把 Activity 设置成全屏显示,一般情况下,可以通过两种方式来设置全屏显示效果: 其一,通过在代码中可以设置, 其二,通过manifest配置文件来设置全屏。 其一:在代码...