zoukankan      html  css  js  c++  java
  • Android setSystemUiVisibility方法详解

    前言

    通过setSystemUiVisibility(int)方法,改变状态栏或者其他系统UI的可见性。

    getWindow().getDecorView().setSystemUiVisibility(int visibility);
    

    默认显示状态栏和导航栏,SYSTEM_UI_FLAG_VISIBLE
    image

    1. SYSTEM_UI_FLAG_LOW_PROFILE
      低调模式,隐藏不重要的状态栏图标,导航栏中相应的图标都变成了一个小点。点击状态栏或者导航栏还原成正常的状态。
      image
    2. SYSTEM_UI_FLAG_HIDE_NAVIGATION
      隐藏导航栏,点击屏幕任意区域,导航栏将重新出现。
      image
    3. SYSTEM_UI_FLAG_FULLSCREEN
      隐藏状态栏,从状态栏位置下拉,状态栏将重新出现。
      image
    4. SYSTEM_UI_FLAG_LAYOUT_HIDE_NAVIGATION
      将布局内容拓展到导航栏和状态栏的后面。
      image
    5. SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN
      将布局内容拓展到状态栏的后面。
      image
    6. SYSTEM_UI_FLAG_LAYOUT_STABLE
      稳定布局,需要配合SYSTEM_UI_FLAG_LAYOUT_HIDE_NAVIGATION和SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN使用,同时设置布局的android:fitsSystemWindows属性。

    未使用SYSTEM_UI_FLAG_LAYOUT_STABLE的效果。
    image
    使用SYSTEM_UI_FLAG_LAYOUT_STABLE的效果。
    image
    7. SYSTEM_UI_FLAG_IMMERSIVE
    配合SYSTEM_UI_FLAG_HIDE_NAVIGATION和SYSTEM_UI_FLAG_FULLSCREEN使用,使状态栏和导航栏真正的进入沉浸模式。点击屏幕任意区域,不会退出全屏模式,只有用户上下拉状态栏或者导航栏时才会退出。

    1. SYSTEM_UI_FLAG_IMMERSIVE_STICKY
      效果同SYSTEM_UI_FLAG_IMMERSIVE,当用户上下拉状态栏或者导航栏时,这些系统栏会以半透明的状态显示,并且在一段时间后消失。
      image
    2. SYSTEM_UI_FLAG_LIGHT_STATUS_BAR
      设置状态栏的颜色,6.0版本以后有效。
      image

    转自:
    Android setSystemUiVisibility方法详解

  • 相关阅读:
    MapBox TileMill
    优秀电影
    Mapnik 编译安装过程
    Debian 入门安装与配置2
    学习opengl十大网站(转载)
    PostgresSQL 学习资料记录处
    c++模板编程-异质链表
    Linux-统一事件源
    三组I/O复用模型的比较
    ZigZag-LeetCode
  • 原文地址:https://www.cnblogs.com/sishuiliuyun/p/15696741.html
Copyright © 2011-2022 走看看