日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > Android >内容正文

Android

Android全屏与透明状态栏

發布時間:2025/7/14 Android 34 豆豆
生活随笔 收集整理的這篇文章主要介紹了 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全屏与透明状态栏的全部內容,希望文章能夠幫你解決所遇到的問題。

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