`
hulunberbus
  • 浏览: 857354 次
文章分类
社区版块
存档分类
最新评论

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

 
阅读更多

原链接:http://www.cnblogs.com/salam/archive/2010/11/30/1892143.html


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

    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. 手机防盗 手机防盗主要实现对手机的保护,进入"手机防盗"模块,提示用户设置手 机保护密码,设置密码...

    requestWindowFeature设置窗口标题栏.txt

    requestWindowFeature设置窗口标题栏

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

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

    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-Popupwindow和Dialog做弹出窗口

    (1)Popupwindow在显示之前一定要设置宽高,Dialog无此限制。 (2)Popupwindow默认不会响应物理键盘的back,除非显示设置了popup.setFocusable(true);而在点击back的时候,Dialog会消失。 (3)Popupwindow不会...

Global site tag (gtag.js) - Google Analytics