Android4.4以上要實現沉浸式狀態欄可以通過在style文件設置
<style name="AppTheme.NoActionBar"> <item name="windowActionBar">false</item> <item name="windowNoTitle">true</item> <item name="android:windowTranslucentStatus">true</item> </style>
就能得到透明的狀態欄,比較網易云音樂的界面會發現網易云的狀態欄是全透明的,而通過設置windowTranslucentStatus得到的狀態欄背景始終是半透明的矩形。所以狀態欄顏色會比toolbar顏色深一點(Material Design)
狀態欄顏色深一點

狀態欄和toolbar顏色是相同的。

為了達到同樣的效果,搜索了挺多方法,找到一段代碼比較合適。使用如下代碼。然后布局文件加上paddingtop屬性,設置為25dp。注意布局文件里不需要設置fitSystemWindows屬性。設置以后就實現了網易云音樂的界面效果了。
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) { Window window = getWindow(); window.clearFlags(WindowManager.LayoutParams.FLAG_TRANSLUCENT_STATUS | WindowManager.LayoutParams.FLAG_TRANSLUCENT_NAVIGATION); window.getDecorView().setSystemUiVisibility(View.SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN | View.SYSTEM_UI_FLAG_LAYOUT_STABLE); window.addFlags(WindowManager.LayoutParams.FLAG_DRAWS_SYSTEM_BAR_BACKGROUNDS); window.setStatusBarColor(Color.TRANSPARENT); }以上這篇Android5.0以上實現全透明的狀態欄方法(仿網易云界面)就是小編分享給大家的全部內容了,希望能給大家一個參考,也希望大家多多支持VEVB武林網。
新聞熱點
疑難解答