`
chenqiang5206
  • 浏览: 33276 次
  • 性别: Icon_minigender_1
  • 来自: 江西
社区版块
存档分类

requestWindowFeature类

 
阅读更多
requestWindowFeature可以设置的值有:
// 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:标题栏右侧的图标
代码:
package com.my;

import android.app.Activity;
import android.os.Bundle;
import android.os.Handler;
import android.os.Message;
import android.view.Window;
import android.view.WindowManager;

public class WindowFeatureDemoActivity extends Activity {
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        // requestWindowFeature();的取值
        // 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:标题栏右侧的图标
        // ========================FEATURE_INDETERMINATE_PROGRESS:不确定的进度
//        showFEATURE_INDETERMINATE_PROGRESS();
//        // =====================FEATURE_CUSTOM_TITLE      
//        showFEATURE_CUSTOM_TITLE();
//        // ======================== FEATURE_LEFT_ICON:标题栏左侧的图标
//        showFEATURE_LEFT_ICON();
//        // ======================FEATURE_NO_TITLE
//        showFEATURE_NO_TITLE();  
//         =================================FEATURE_PROGRESS
        showFEATURE_PROGRESS();

    }

    private void showFEATURE_INDETERMINATE_PROGRESS() {
        requestWindowFeature(Window.FEATURE_INDETERMINATE_PROGRESS);
        setContentView(R.layout.main);
        getWindow().setFeatureInt(Window.FEATURE_INDETERMINATE_PROGRESS, R.layout.progress);
        // 必须得加上否则显示不出效果 可以通过这个在以后设置显示或隐藏
        setProgressBarIndeterminateVisibility(true);
    }

    private void showFEATURE_CUSTOM_TITLE() {
        // 自定义标题。当需要自定义标题时必须指定。如:标题是一个按钮时
        requestWindowFeature(Window.FEATURE_CUSTOM_TITLE);
        setContentView(R.layout.main);
        getWindow().setFeatureInt(Window.FEATURE_CUSTOM_TITLE, R.layout.customtitle);
    }
    private void showFEATURE_LEFT_ICON()
    {
         requestWindowFeature(Window.FEATURE_LEFT_ICON);
         setContentView(R.layout.main);
         getWindow().setFeatureDrawableResource(Window.FEATURE_LEFT_ICON,
         R.drawable.icon);
    }
    private void showFEATURE_NO_TITLE()
    {
         requestWindowFeature(Window.FEATURE_NO_TITLE);
         setContentView(R.layout.main);
         // 加上这句设置为全屏 不加则只隐藏title
         getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN,
         WindowManager.LayoutParams.FLAG_FULLSCREEN);
    }
    private void showFEATURE_PROGRESS()
    {
        requestWindowFeature(Window.FEATURE_PROGRESS);
        setProgressBarVisibility(true);
        setContentView(R.layout.main);
        setTitle("");
        getWindow().setFeatureInt(Window.FEATURE_PROGRESS, Window.PROGRESS_VISIBILITY_ON);
        // 通过线程来改变ProgressBar的值
        new Thread(new Runnable() {
            public void run() {
                for (int i = 0; i < 10; i++) {
                    try {
                        Thread.sleep(1000);
                        Message m = new Message();
                        m.what = (i + 1) * 20;
                        WindowFeatureDemoActivity.this.myMessageHandler.sendMessage(m);
                    } catch (Exception e) {
                        e.printStackTrace();
                    }
                }
            }
        }).start();
    }
    Handler myMessageHandler = new Handler() {
        // @Override
        public void handleMessage(Message msg) {

            // 设置标题栏中前景的一个进度条进度值
            setProgress(100 * msg.what);
            // 设置标题栏中后面的一个进度条进度值
            setSecondaryProgress(100 * msg.what + 10);
            super.handleMessage(msg);
        }
    };

}
分享到:
评论

相关推荐

    requestWindowFeature

    `PhoneWindow` 是`Activity` 默认使用的`Window` 类,它负责处理`requestWindowFeature` 请求,并将这些请求传递给`DecorView`。`DecorView` 是最外层的视图,包含了标题栏、内容区域等元素,它会根据窗口特性来决定...

    Android 中 requestWindowFeature()的应用

    这里的`featureId`参数是一个表示所需功能的整数值,通常为Window类中定义的常量。这些常量定义了不同的窗口特性,例如是否显示标题、进度条等。 **枚举常量详解:** 1. `DEFAULT_FEATURES`: 这是系统默认的状态,...

    Android的Window类详解

    ### Android的Window类详解 #### 一、概述 在Android开发过程中,`Window`类扮演着极其重要的角色,它是应用程序与用户交互的主要界面之一。本文将深入探讨Android系统的`Window`类,包括其属性和成员函数等内容。...

    android资料

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

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

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

    Android 贪吃蛇源码分析

    - 关闭标题栏:通过调用`requestWindowFeature(Window.FEATURE_NO_TITLE)`隐藏默认的标题栏,提供更加沉浸式的游戏体验。 - 设置布局:通过`setContentView(R.layout.snake_layout)`设置主布局。 - 初始化`SnakeView...

    超有用的安卓学习材料3

    以上就是Android开发中关于防止控件重复点击、禁用EditText软键盘、虚拟机SD卡创建、SD卡存在性检测、文件删除、ListView事件及Intent-filter、requestWindowFeature的一些关键知识点。这些知识对于提升应用性能和...

    3d图形开发的代码

    - **请求无标题窗口**:通过 `requestWindowFeature` 方法去除窗口标题栏。 - **初始化OpenGL视图**:创建 `OpenGLView` 实例,并将其设置为当前活动的主视图。 #### 3.2 OpenGLRenderer 类详解 `OpenGLRenderer` ...

    隐藏状态栏

    该标志位的定义位于`WindowManager.LayoutParams`类中。 #### 隐藏标题栏 **实现代码**: ```java @Override public void onCreate(Bundle icicle) { super.onCreate(icicle); // No Titlebar ...

    象棋源码11

    4. **布局管理**:`requestWindowFeature()` 和 `getWindow().setFlags()` 方法用于设置全屏模式,移除标题栏,提供更好的用户体验。 5. **自定义视图**:`WelcomeView`、`GameView`、`MenuView` 和 `HelpView` ...

    贪吃蛇 android源码

    此项目主要涉及以下类和方法: 1. **Snake.java** - 主Activity类,负责管理游戏状态。 2. **SnakeView.java** - 游戏视图组件,处理游戏逻辑和绘制。 ### 知识点二:Snake Activity 类详解 #### 1. 类定义与常量...

    开发中j2me与android的比较.pdf

    `,同时调用 `requestWindowFeature(Window.FEATURE_NO_TITLE);` 来隐藏标题栏。 2. **获得屏幕尺寸** - **J2ME**:通过 `Canvas` 类的 `getHeight()` 和 `getWidth()` 方法获取。 - **Android**:通过 `...

    Android_开发技巧杂集_网络_半透明_异步线程

    为了判断当前是否有可用的网络连接,我们可以使用`ConnectivityManager`类。下面的示例代码展示了如何实现这一功能: ```java public static boolean isNetworkAvailable(Context context) { ConnectivityManager ...

    Android指南针

    - **继承关系**:`Compass` 类继承自 `Activity` 类,这意味着它是一个Android应用中的活动组件。 - **静态常量定义**:`MENU_QUIT` 定义了一个用于退出菜单项的ID。 ##### 3.2 屏幕方向设置 ```java ...

    Android 调整亮度

    - `requestWindowFeature(Window.FEATURE_NO_TITLE)`: 隐藏Activity的标题栏,使界面更简洁。 - `getWindow().setAttributes()`: 设置Window的属性,包括亮度。 7. **注意事项** - 调整亮度时应考虑电池续航,过...

    小米便签部分代码精读注释

    - **requestWindowFeature(Window.FEATURE_NO_TITLE)**:设置当前窗口没有标题栏。 - **getWindow().addFlags(WindowManager.LayoutParams.FLAG_SHOW_WHEN_LOCKED)**:即使设备屏幕被锁定,也会显示该 Activity。 #...

    Android 去掉状态栏的方法汇总

    在实际的应用程序开发中,我们有时需要把 Activity 设置成全屏显示,一般情况下,可以通过两种方式来设置全屏显示效果: 其一,通过在代码中可以设置, 其二,通过manifest配置文件...requestWindowFeature(Window.FEAT

    android视频播放器

    `WelcomeActivity`继承自`Activity`类,它的主要功能是在应用程序启动时展示一个欢迎动画,然后在三秒后自动跳转到主视频播放界面。`onCreate`方法中,通过`requestWindowFeature`和`setFlags`方法去掉标题栏并设置...

Global site tag (gtag.js) - Google Analytics