zoukankan      html  css  js  c++  java
  • Android 动态隐藏显示导航栏,状态栏

    Talk is cheap, show me the code.

    --Linus Torvalds


    Okay, here:

    一、导航栏:

    [java] view plain copy
    1. private void hideNavigationBar() {  
    2.     View decorView = getWindow().getDecorView();  
    3.     int uiOptions = View.SYSTEM_UI_FLAG_HIDE_NAVIGATION  
    4.             | View.SYSTEM_UI_FLAG_FULLSCREEN;  
    5.     decorView.setSystemUiVisibility(uiOptions);  
    6. }  
    7.   
    8. private void showNavigationBar() {  
    9.     View decorView = getWindow().getDecorView();  
    10.     int uiOptions = View.SYSTEM_UI_FLAG_VISIBLE;  
    11.     decorView.setSystemUiVisibility(uiOptions);  
    12. }  

    相关:

    SYSTEM_UI_FLAG_VISIBLE——显示状态栏和导航栏

    SYSTEM_UI_FLAG_LOW_PROFILE——此模式下,状态栏的图标可能是暗的

    SYSTEM_UI_FLAG_HIDE_NAVIGATION——隐藏导航栏

    SYSTEM_UI_FLAG_FULLSCREEN——全屏,隐藏状态栏和导航栏

    SYSTEM_UI_FLAG_LAYOUT_STABLE

    SYSTEM_UI_FLAG_LAYOUT_HIDE_NAVIGATION

    SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN——全屏,隐藏导航栏,状态栏浮在布局上。

    SYSTEM_UI_FLAG_IMMERSIVE——沉浸式:半透明的状态栏和导航栏

    SYSTEM_UI_FLAG_IMMERSIVE_STICKY——粘性沉浸式


    二、状态栏:

    [java] view plain copy
    1. private void setStatusBarVisible(boolean show) {  
    2.     if (show) {  
    3.         int uiFlags = View.SYSTEM_UI_FLAG_LAYOUT_STABLE;  
    4.         uiFlags |= 0x00001000;  
    5.         getWindow().getDecorView().setSystemUiVisibility(uiFlags);  
    6.     } else {  
    7.         int uiFlags = View.SYSTEM_UI_FLAG_LAYOUT_STABLE  
    8.                 | View.SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN  
    9.                 | View.SYSTEM_UI_FLAG_FULLSCREEN;  
    10.         uiFlags |= 0x00001000;  
    11.         getWindow().getDecorView().setSystemUiVisibility(uiFlags);  
    12.     }  
    13. }  

    三、导航栏和状态栏

    [java] view plain copy
    1. private void setSystemUIVisible(boolean show) {  
    2.     if (show) {  
    3.         int uiFlags = View.SYSTEM_UI_FLAG_LAYOUT_STABLE;  
    4.         uiFlags |= 0x00001000;  
    5.         getWindow().getDecorView().setSystemUiVisibility(uiFlags);  
    6.     } else {  
    7.         int uiFlags = View.SYSTEM_UI_FLAG_LAYOUT_STABLE  
    8.                 | View.SYSTEM_UI_FLAG_LAYOUT_HIDE_NAVIGATION  
    9.                 | View.SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN  
    10.                 | View.SYSTEM_UI_FLAG_HIDE_NAVIGATION  
    11.                 | View.SYSTEM_UI_FLAG_FULLSCREEN;  
    12.         uiFlags |= 0x00001000;  
    13.         getWindow().getDecorView().setSystemUiVisibility(uiFlags);  
    14.     }  
    15. }  
  • 相关阅读:
    一个cs架构的在线考试系统
    TreeComboBox控件范例
    new和override修饰符的区别
    Hello cnblogs
    MapInfo图层坐标系统转换
    C#调用新浪微博API生成RSS资源文件
    MapInfo图层格式转ArcGIS图层格式
    用ArcGIS的ArcToolbox进行地图切割
    VS2008智能提示消失的解决方法
    【学习笔记】零基础C#窗口程序开发入门
  • 原文地址:https://www.cnblogs.com/muhuacat/p/7447484.html
Copyright © 2011-2022 走看看