因爲項目使用到toolbar,因此研究了一下。 android
首先,設置apptheme app
<style name="AppTheme" parent="Theme.AppCompat.Light.NoActionBar"> <!--狀態欄顏色,僅5.0有用--> <item name="colorPrimaryDark">@color/background_main</item> <!--Toolbar顏色--> <item name="colorPrimary">@color/background_toolbar</item> <!--返回鍵樣式--> <item name="drawerArrowStyle">@style/AppTheme.DrawerArrowToggle</item> </style>
發現這種效果,在android studio的預覽裏面顯示正常,可是實際運行到4.4上,狀態欄仍是黑色的。 佈局
在網上找了許久,找到了一些資料。 ui
在當前應用透明主題的activity中的onCreate中添加以下代碼 spa
//設置狀態欄透明 if(Build.VERSION.SDK_INT >= Build.VERSION_CODES.KITKAT) { //透明狀態欄 getWindow().addFlags(WindowManager.LayoutParams.FLAG_TRANSLUCENT_STATUS); //透明導航欄 getWindow().addFlags(WindowManager.LayoutParams.FLAG_TRANSLUCENT_NAVIGATION); }
運行以後app的view直接從屏幕頂端開始佈局了。 code
因而在layout裏設置該兩個屬性 ip
android:fitsSystemWindows="true" android:clipToPadding="true"
再次運行以後,狀態欄透明瞭,狀態欄顏色應用如今app主題顏色。 get
又強制設置主題顏色 it
在apptheme中,添加 io
<item name="android:windowBackground">@color/background_main</item> <item name="android:windowIsTranslucent">true</item> <item name="android:windowAnimationStyle">@android:style/Animation.Translucent</item>
最後再次運行,發現4.4的程序狀態欄能夠有我想要的結果了。
若是大神們有好的方法,也能夠指導一下。