日韩av黄I国产麻豆传媒I国产91av视频在线观看I日韩一区二区三区在线看I美女国产在线I麻豆视频国产在线观看I成人黄色短片

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 >

Android全屏与透明状态栏

發布時間:2025/7/14 58 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Android全屏与透明状态栏 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

前言

Android沉浸式與全屏是不一樣的兩種主題,接下來我們看看吧

Android實現全屏

通過主題屬性來實現

<style name="FullScreenTheme"><item name="android:windowNoTitle">true</item><item name="android:windowFullscreen">true</item><item name="android:background">#ff00beb4</item> </style>復制代碼

在AndroidManifest.xml中使用

<activity android:name=".TestActivity"android:theme="@style/FullScreenTheme"><intent-filter><action android:name="android.intent.action.MAIN"/><category android:name="android.intent.category.LAUNCHER"/></intent-filter> </activity>復制代碼

使用全屏的主題

<activity android:name=".TestActivity"android:theme="@android:style/Theme.NoTitleBar.Fullscreen"><intent-filter><action android:name="android.intent.action.MAIN"/><category android:name="android.intent.category.LAUNCHER"/></intent-filter> </activity>復制代碼

或者

<activity android:name=".TestActivity"android:theme="@android:style/Theme.Material.NoActionBar.Fullscreen"><intent-filter><action android:name="android.intent.action.MAIN"/><category android:name="android.intent.category.LAUNCHER"/></intent-filter> </activity>復制代碼

java代碼中設置屬性

requestWindowFeature(Window.FEATURE_NO_TITLE);//這行代碼一定要在setContentView之前,不然會閃退 setContentView(R.layout.activity_test); Window window = getWindow(); window.addFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN);復制代碼

效果圖

全屏效果圖

Android實現透明狀態欄

半沉浸式

<style name="TranslucentTheme"><item name="android:windowTranslucentNavigation">true</item><item name="android:windowTranslucentStatus">true</item><item name="android:windowNoTitle">true</item><item name="android:background">#ff00beb4</item> </style>復制代碼

使用:

<activity android:name=".TestActivity"android:theme="@style/TranslucentTheme"><intent-filter><action android:name="android.intent.action.MAIN"/><category android:name="android.intent.category.LAUNCHER"/></intent-filter> </activity>復制代碼

半透明效果圖

半沉浸式效果圖5.x

這不是好好的嗎?但這是5.1的系統,當切換到6.0以后的系統的時候

半沉浸式效果圖6.0

透明式6.0

Window window = activity.getWindow(); //這一步最好要做,因為如果這兩個flag沒有清除的話下面沒有生效 window.clearFlags(WindowManager.LayoutParams.FLAG_TRANSLUCENT_STATUS| WindowManager.LayoutParams.FLAG_TRANSLUCENT_NAVIGATION); //設置布局能夠延伸到狀態欄(StatusBar)和導航欄(NavigationBar)里面 window.addFlags(WindowManager.LayoutParams.FLAG_DRAWS_SYSTEM_BAR_BACKGROUNDS); //設置狀態欄(StatusBar)顏色透明 window.setStatusBarColor(Color.TRANSPARENT); //設置導航欄(NavigationBar)顏色透明 window.setNavigationBarColor(Color.TRANSPARENT);復制代碼

加上這段代碼就可以了,效果如圖

全沉浸式

關于導航欄SystemUiVisibility

final int flags = View.SYSTEM_UI_FLAG_LAYOUT_STABLE//保持系統的穩定性| View.SYSTEM_UI_FLAG_LAYOUT_HIDE_NAVIGATION//隱藏導航欄的布局,但是SYSTEM_UI_FLAG_HIDE_NAVIGATION不設置不會生效| View.SYSTEM_UI_FLAG_HIDE_NAVIGATION//隱藏號航欄| View.SYSTEM_UI_FLAG_IMMERSIVE//沉浸式,會全屏/*| View.SYSTEM_UI_FLAG_FULLSCREEN//全屏| View.SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN*/| View.SYSTEM_UI_FLAG_IMMERSIVE_STICKY//粘性沉浸式,下滑和上滑才能顯示狀態欄和導航欄| 0x00200000 |//隱藏導航欄的back鍵0x00400000 |//隱藏導航欄的home鍵0x01000000;//隱藏導航欄的recent鍵 window.getDecorView().setSystemUiVisibility(flags);復制代碼

關于fitsSystemWindows

android:fitsSystemWindows=true<!--可以讓你的布局不會頂到狀態欄和導航欄上,但是顏色依然會透過去-->復制代碼

總結

以上是生活随笔為你收集整理的Android全屏与透明状态栏的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。