android 状态栏 导航栏隐藏显示控制方法及效果示例

来源:互联网 发布:阿里云开启ssh端口 编辑:程序博客网 时间:2024/05/22 03:30

SystemUI在android4.2SDK上,对于phone版本,包含了状态栏statusbar,也有导航栏navigationbar,对于有些手机来说可能导航栏是在触摸屏上的,当然这一个部分是可以不需要的。下面我们就一起来看看systemUI可见性的几种选择以及带来的实际效果对比。

/*****************************************************************************************************/
声明:本博内容均由http://blog.csdn.net/edsam49原创,转载请注明出处,谢谢!
/*****************************************************************************************************/

      首先,我们来看一下不做特殊设置,系统默认的应用显示状态:

 SystemUI中状态栏跟导航栏隐藏显示控制方法及效果示例

      如果我们想把上面的状态栏statusbar干掉,我们可以使用,View.SYSTEM_UI_FLAG_FULLSCREEN,使用的方法是setSystemUiVisibility(int f)。效果如下:

 SystemUI中状态栏跟导航栏隐藏显示控制方法及效果示例

      如果我们想把下面的导航栏干掉,我们可以使用View.SYSTEM_UI_FLAG_HIDE_NAVIGATION,当然使用的方法也是setSystemUiVisibility(int f)。效果如下:

 SystemUI中状态栏跟导航栏隐藏显示控制方法及效果示例

     如果我们想把状态栏跟导航栏都隐藏掉,我们就可以综合一下前面两个属性来做,如下

v.setSystemUiVisibility(View.SYSTEM_UI_FLAG_HIDE_NAVIGATION | View.SYSTEM_UI_FLAG_FULLSCREEN);在视频播放器以及图片浏览器这种应用中可以使用,提高用户体验,显示效果如下:

 SystemUI中状态栏跟导航栏隐藏显示控制方法及效果示例

     还有一种处理导航栏的,就是把它稍微隐藏起来,显示几个小点,就不那么刺眼,应用看起来的效果也好一些,这个属性就是View.SYSTEM_UI_FLAG_LOW_PROFILE,使用的方法都是setSystemUiVisibility(int f),效果如下:

 SystemUI中状态栏跟导航栏隐藏显示控制方法及效果示例

     几种属性就可以灵活控制systemui的显示方式,达到我们想要的显示效果,在实际应用开发中还是很有意义的。

 

编译:SystemUI中状态栏跟导航栏隐藏显示控制方法及效果示例

地址:http://www.07net01.com/program/587957.html


第二篇

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

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

地址:http://www.jb51.net/article/44219.htm
0 0
原创粉丝点击
热门问题 老师的惩罚 人脸识别 我在镇武司摸鱼那些年 重生之率土为王 我在大康的咸鱼生活 盘龙之生命进化 天生仙种 凡人之先天五行 春回大明朝 姑娘不必设防,我是瞎子 3岁宝宝吃了就吐怎么办 6岁儿童又吐又拉怎么办 还没满月的宝宝肚子胀气怎么办 婴儿拉屎有粘液像果冻状怎么办 宝宝不爱吃饭怎么办吃就吐出来 19天的宝宝生理性腹泻怎么办 33天的婴儿生理性腹泻怎么办 两个多月宝宝生理性腹泻怎么办 3岁儿童又吐又拉怎么办 宝宝两岁了突然说话有点口吃怎么办 姜文怎么克服口吃 说话结巴怎么办 慢性咽炎嗓子干哑说话费劲怎么办 感冒后嗓子不疼 说话费劲怎么办 小孩子在幼儿园内向老尿裤子怎么办 五岁宝宝总是抽鼻子有黄鼻涕怎么办 2岁宝宝头有大人的那么大怎么办 一岁四个月宝宝不理人不说话怎么办 两岁七个月还不会说话怎么办 2岁3个月宝宝说话结巴怎么办 两周的宝宝突然说话结巴怎么办 宝宝3岁半了说话口吃怎么办? 四十天的宝宝吐奶严重怎么办 宝宝吐奶从鼻子喷出来怎么办 六个多月宝宝吐奶一股酸味怎么办 50天的宝宝吃了就吐怎么办 微信语音群聊超过9人怎么办 四个月宝宝母乳不够不喝奶粉怎么办 四个月的宝宝母乳不够吃怎么办 火山直播十多天了还都是假人怎么办 吉利汽车锁了后屁股灯还亮怎么办 六个月凶了他突然不说话了怎么办 微信聊天聊的时间长了没话题怎么办 群聊同学加我微信不想加怎么办? 翡翠销售遇到不说话的客人怎么办 4个月宝宝吃手上瘾怎么办 宝宝吃手上瘾拒绝吃奶粉吃奶怎么办 2岁宝宝特别粘人爱哭怎么办 3岁半宝宝突然说话口吃怎么办 2岁3个月宝宝突然说话结巴怎么办 一位特爱说话爱玩的高中生怎么办 猫5天不吃不喝躲起来该怎么办