美文网首页基础知识
Android setSystemUiVisibility 动态

Android setSystemUiVisibility 动态

作者: 用心感受世界 | 来源:发表于2017-09-13 17:51 被阅读0次

    近期给dialog不能全屏显示困扰,我设置Activity是有颜色状态栏的,所以显示dialog时状态栏也还在,考虑过 更改getwindow.attributes 的属性,但是并不起作用,也就想到的另外一个东西:动态更改状态栏
    一开始有想到,是不是重置直接设置getwindow.setFlags(value)就行了,但是结果是不可以的这个操作必须在setContenView之前。再后来找到了setSystemUiVisibility,完美解决问题。实现没有任何技术含量,但是属性比较多,所以也就记录一下,到时候需要可以回档看一下。

    我的dialog布局是match_parent,设置 当前布局

         view.setSystemUiVisibility( View.SYSTEM_UI_FLAG_FULLSCREEN)
    

    就可以实现dialog全屏的需求啦。

    setSystemUiVisibility的相关属性

        View.SYSTEM_UI_FLAG_HIDE_NAVIGATION, //隐藏导航栏
       
        View.SYSTEM_UI_FLAG_LAYOUT_HIDE_NAVIGATION,
        View.SYSTEM_UI_LAYOUT_FLAGS,
        View.SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN, //全屏,状态栏会盖在布局上
    
        View.SYSTEM_UI_FLAG_FULLSCREEN, //全屏,状态栏和导航栏不显示
    
        View.SYSTEM_UI_FLAG_VISIBLE, //显示状态栏和导航栏
      
        View.SYSTEM_UI_FLAG_LAYOUT_STABLE,// 保持View Layout不变,隐藏状态栏或者导航栏后,View不会拉伸。
        View.SYSTEM_UI_FLAG_LOW_PROFILE,//状态栏:低能显示状态,状态栏上一些图标显示会被隐藏。
     
       View.SYSTEM_UI_FLAG_IMMERSIVE//只有当设置了SYSTEM_UI_FLAG_HIDE_NAVIGATION才起作用。如果没有设置,任意的View相互动作都退出SYSTEM_UI_FLAG_HIDE_NAVIGATION模式。如果设置就不会退出。
       View.SYSTEM_UI_FLAG_IMMERSIVE_STICKY//只有当设置了SYSTEM_UI_FLAG_FULLSCREEN | SYSTEM_UI_FLAG_HIDE_NAVIGATION 时起作用。如果没有设置,任意的View相互动作都退出SYSTEM_UI_FLAG_FULLSCREEN | SYSTEM_UI_FLAG_HIDE_NAVIGATION模式。
    
       
    

    相关文章

      网友评论

        本文标题:Android setSystemUiVisibility 动态

        本文链接:https://www.haomeiwen.com/subject/rullsxtx.html