android啟動畫面隱藏狀態欄全屏顯示


1.在根部局給一個id,然后直接設置就行了layout.setSystemUiVisibility(View.INVISIBLE);

狀態欄就沒有了。

2.如果你只是想改變狀態欄顏色的也可以

//5.0以前這樣
    if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.KITKAT&&Build.VERSION.SDK_INT<Build.VERSION_CODES.LOLLIPOP) {
   setTranslucentStatus(true);
   SystemBarTintManager tintManager = new SystemBarTintManager(this);
   tintManager.setStatusBarTintEnabled(true);
   tintManager.setStatusBarTintResource(R.color.top_bg_color);//通知欄所需顏色
  }
   private void setTranslucentStatus(boolean on) {
   Window win = getWindow();
   WindowManager.LayoutParams winParams = win.getAttributes();
   final int bits = WindowManager.LayoutParams.FLAG_TRANSLUCENT_STATUS;
   if (on) {
      winParams.flags |= bits;
   } else {
      winParams.flags &= ~bits;
   }
   win.setAttributes(winParams);
}
   //5.0以后這樣
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) {
   Window window = getWindow();
   window.clearFlags(WindowManager.LayoutParams.FLAG_TRANSLUCENT_STATUS);
   window.addFlags(WindowManager.LayoutParams.FLAG_DRAWS_SYSTEM_BAR_BACKGROUNDS);
   window.setStatusBarColor(getResources().getColor(R.color.top_bg_color));
}


3.做完上面的步驟后,有些小伙伴會發現,自己的頂部欄會被覆蓋或者有些重疊!如圖:

所以我們還需要設置一下樣式:

<!-- 去掉tab頂部的黑邊 -->
<style name="no_title" parent="Theme.AppCompat.Light.NoActionBar">

<!-- 沉浸式狀態欄 -->
<item name="android:fitsSystemWindows">true</item>
<item name="android:clipToPadding">false</item>
</style>
然后去AndroidManifest.xml配置對應的activity的theme就可以了


View類提供了setSystemUiVisibility和getSystemUiVisibility方法,這兩個方法實現對狀態欄的動態顯示或隱藏的操作,以及獲取狀態欄當前可見性。

setSystemUiVisibility方法傳入的實參分析:

 

   setSystemUiVisibility(int visibility)方法可傳入的實參為:

    1. View.SYSTEM_UI_FLAG_VISIBLE:顯示狀態欄,

Activity不全屏顯示(恢復到有狀態的正常情況)。

    2. View.INVISIBLE:隱藏狀態欄,同時Activity會伸展全屏顯示。

    3. View.SYSTEM_UI_FLAG_FULLSCREEN:Activity全屏顯示,且狀態欄被隱藏覆蓋掉。

    4. View.SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN:Activity全屏顯示,但狀態欄不會被隱藏覆蓋,狀態欄依然可見,Activity頂端布局部分會被狀態遮住。

    5. View.SYSTEM_UI_FLAG_LAYOUT_HIDE_NAVIGATION:效果同View.SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN

    6. View.SYSTEM_UI_LAYOUT_FLAGS:效果同View.SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN

    7. View.SYSTEM_UI_FLAG_HIDE_NAVIGATION:隱藏虛擬按鍵(導航欄)。有些手機會用虛擬按鍵來代替物理按鍵。

    8. View.SYSTEM_UI_FLAG_LOW_PROFILE:狀態欄顯示處於低能顯示狀態(low profile模式),狀態欄上一些圖標顯示會被隱藏

 


免責聲明!

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



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