• 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. }  
  • 相关阅读:
    边框渐变
    循环遍历对象的方法
    H5 判断手机设备类型及不同类型调起分享
    Java工具延时队列
    银行风控模型
    解除网页复制需登陆限制 鸟
    weditor安装出错一直装不上
    【刷题】【dp】蓝桥·回路计数
    【笔记】第六章 利用数组处理批量数据
    【笔记】【C语言】格式控制符 / 格式输出函数printf()详解
  • 原文地址:https://www.cnblogs.com/muhuacat/p/7447484.html
Copyright © 2020-2023  润新知