android 动态控制状态栏显示和隐藏的方法实例_Android

方法一:(经试验无效,但网上广为流传,也许是我使用方法不当,有待进一步验证……)

android想要应用运行时全屏有一种方法是在activity的onCreat方法中加入如下代码:getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN,
                WindowManager.LayoutParams.FLAG_FULLSCREEN);并且需要在setContentView()之前,否则无效过。从这么多的苛刻条件可以看出这种方法无法满足动态控制。

下面的方法可以满足这个需要。调用View的 setSystemUiVisibility()

方法,其参数如下:

复制代码 代码如下:

View.SYSTEM_UI_FLAG_FULLSCREEN,   //全屏,状态栏和导航栏不显示
View.SYSTEM_UI_FLAG_HIDE_NAVIGATION, //隐藏导航栏
View.SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN, //全屏,状态栏会盖在布局上
View.SYSTEM_UI_FLAG_LAYOUT_HIDE_NAVIGATION, 
View.SYSTEM_UI_FLAG_LAYOUT_STABLE,
View.SYSTEM_UI_FLAG_LOW_PROFILE,
View.SYSTEM_UI_FLAG_VISIBLE,  //显示状态栏和导航栏
View.SYSTEM_UI_LAYOUT_FLAGS

方法二:(试验成功)  
直接调用此方法即可实现对状态栏的控制;

复制代码 代码如下:

private void full(boolean enable) {
        if (enable) {
            WindowManager.LayoutParams lp = getWindow().getAttributes();
            lp.flags |= WindowManager.LayoutParams.FLAG_FULLSCREEN;
            getWindow().setAttributes(lp);
            getWindow().addFlags(WindowManager.LayoutParams.FLAG_LAYOUT_NO_LIMITS);
        } else {
            WindowManager.LayoutParams attr = getWindow().getAttributes();
            attr.flags &= (~WindowManager.LayoutParams.FLAG_FULLSCREEN);
            getWindow().setAttributes(attr);
            getWindow().clearFlags(WindowManager.LayoutParams.FLAG_LAYOUT_NO_LIMITS);
        }
    }

时间: 2024-08-01 01:24:20

android 动态控制状态栏显示和隐藏的方法实例_Android的相关文章

android 动态控制状态栏显示和隐藏的方法实例

 这篇文章主要介绍了 方法一:(经试验无效,但网上广为流传,也许是我使用方法不当,有待进一步验证--)   android想要应用运行时全屏有一种方法是在activity的onCreat方法中加入如下代码:getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN,                  WindowManager.LayoutParams.FLAG_FULLSCREEN);并且需要在setContentView()

Android动态控制状态栏显示和隐藏

记得之前有朋友在留言里让我写一篇关于沉浸式状态栏的文章,正巧我确实有这个打算,那么本篇就给大家带来一次沉浸式状态栏的微技巧讲解. 其实说到沉浸式状态栏这个名字我也是感到很无奈,真不知道这种叫法是谁先发起的.因为Android官方从来没有给出过沉浸式状态栏这样的命名,只有沉浸式模式(Immersive Mode)这种说法.而有些人在没有完全了解清楚沉浸模式到底是什么东西的情况下,就张冠李戴地认为一些系统提供的状态栏操作就是沉浸式的,并且还起了一个沉浸式状态栏的名字. 比如之前就有一个QQ群友问过我

Android调用默认浏览器打开指定Url的方法实例_Android

复制代码 代码如下: package com.gzz.whyinzi; import android.net.Uri;import android.os.Bundle;import android.app.Activity;import android.content.Intent;import android.util.Log;import android.view.Menu;import android.view.View; public class MainActivity extends

Excel2003工作表显示与隐藏的方法

Excel2003工作表显示与隐藏的方法   隐藏工作表 1.选中要隐藏的工作表标签,格式-工作表-隐藏 2.Sheet1工作表已隐藏,效果如下图. 显示工作表 1.选中其他工作表标签,格式-工作表-取消隐藏 2.弹出对话框,选中要显示的工作表,并确定. 3.Sheet1工作表被显示出来,效果如下图. word教程 Excel教程 PowerPoint教程

使用jQuery的toggle()方法对HTML标签进行显示、隐藏的方法(示例)_jquery

这是一个示例: <html> <head> <script type="text/javascript" src="https://code.jquery.com/jquery-1.11.3.js"></script> <script type="text/javascript"> $(document).ready(function(){ $(".btn1").cl

javascript实现显示和隐藏div方法汇总_javascript技巧

javascript实现显示和隐藏div方法汇总 <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>15种方法实现div显示和隐藏</title> <script src="js/base.js"></script> <style> body{ mar

javascript控制层显示或隐藏的方法_javascript技巧

本文实例讲述了javascript控制层显示或隐藏的方法.分享给大家供大家参考.具体实现方法如下: <html> <head> <title>中国风</title> <meta http-equiv="Content-Type" content="text/html; charset=gb2312"> </head> <script language="JavaScript&qu

Android 实现夜间模式的快速简单方法实例详解_Android

ChangeMode 项目地址:ChangeMode Implementation of night mode for Android. 用最简单的方式实现夜间模式,支持ListView.RecyclerView. Preview Usage xml android:background="?attr/zzbackground" app:backgroundAttr="zzbackground"//如果当前页面要立即刷新,这里传入属性名称 比如 R.attr.zzb

Android 实现夜间模式的快速简单方法实例详解

ChangeMode 项目地址:ChangeMode Implementation of night mode for Android. 用最简单的方式实现夜间模式,支持ListView.RecyclerView. Preview Usage xml android:background="?attr/zzbackground" app:backgroundAttr="zzbackground"//如果当前页面要立即刷新,这里传入属性名称 比如 R.attr.zzb