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

 更新时间:2013年12月06日 16:04:03   作者:  
这篇文章主要介绍了

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

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);
        }
    }

相关文章

  • 浅析Android Dialog中setContentView()方法

    浅析Android Dialog中setContentView()方法

    本篇文章主要介绍了Android Dialog中setContentView()方法的相关知识。具有很好的参考价值。下面跟着小编一起来看下吧
    2017-05-05
  • Android实现同频共帧动画效果

    Android实现同频共帧动画效果

    我们听过“同频共振”,其原理是多个物体物体以同样的频率振动,但是本篇实现的效果是“同频共帧”,含义是:动画以同样的频率和同样的帧展示在多个不同View上,文中通过代码示例介绍的非常详细,感兴趣的同学可以自己动手尝试一下
    2024-01-01
  • android获取手机IMSI码判断手机运营商代码实例

    android获取手机IMSI码判断手机运营商代码实例

    这篇文章主要介绍了android获取手机IMSI码判断手机运营商代码实例,大家参考使用
    2013-11-11
  • 结合Windows窗口深入分析Android窗口的实现

    结合Windows窗口深入分析Android窗口的实现

    在Android中,窗口是一个基本的图形用户界面元素,它提供了一个屏幕区域来放置应用程序的用户界面元素。窗口可以是全屏的,也可以是一个小的对话框。每个窗口都有一个特定的主题和样式,可以根据应用程序的需求进行自定义
    2023-04-04
  • Android设置项目为系统APP方法

    Android设置项目为系统APP方法

    大家好,本篇文章讲的是Android设置项目为系统APP介绍,感兴趣的同学赶快来看一看吧,希望本篇文章对你起到帮助
    2021-11-11
  • Android编程实现录音及保存播放功能的方法【附demo源码下载】

    Android编程实现录音及保存播放功能的方法【附demo源码下载】

    这篇文章主要介绍了Android编程实现录音及保存播放功能的方法,结合实例形式分析了Android基于MediaRecorder类进行录音机保存播放功能的相关操作技巧,并附带demo源码供读者下载,需要的朋友可以参考下
    2018-01-01
  • Android 仿微信小程序入口动画

    Android 仿微信小程序入口动画

    突然发现微信下拉小程序入口动画非常细腻,比较好奇,所以仿照他做了一个,并不是很完美,部分效果还没完成,但总体自我感觉还不错,效果见下文
    2021-06-06
  • 详解Kotlin 中使用和配置 Dagger2

    详解Kotlin 中使用和配置 Dagger2

    本篇文章主要介绍了详解Kotlin 中使用和配置 Dagger2,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2017-10-10
  • Android实现全局悬浮框

    Android实现全局悬浮框

    这篇文章主要为大家详细介绍了Android实现全局悬浮框,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2021-01-01
  • Android多媒体教程之播放视频的四种方法

    Android多媒体教程之播放视频的四种方法

    这篇文章主要给大家介绍了关于Android多媒体教程之播放视频的四种方法,分别是通过intent的方式,调用系统自带的播放器、使用VideoView、MediaPlayer + SurfaceView及MediaPlayer + TextureView等方法,需要的朋友们可以参考学习。
    2017-06-06

最新评论