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方法詳解


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM