在style样式里面添加如下item (位置 : res/values/styles.xml)
<span style="white-space:pre"> </span><item name="android:windowTranslucentStatus" tools:targetApi="kitkat">true</item>
<item name="android:windowTranslucentNavigation" tools:targetApi="kitkat">true</item>
完整的代码如下
<style name="AppTheme.Base" parent="Theme.AppCompat.Light.NoActionBar"> <item name="colorPrimary">@color/primary</item> <item name="colorPrimaryDark">@color/primary</item> <item name="android:windowBackground">@color/white</item> <item name="windowActionModeOverlay">true</item> <!-- <item name="colorAccent">#ff0000</item>--> <item name="actionModeStyle">@style/CustomActionMode</item> <item name="android:windowTranslucentStatus" tools:targetApi="kitkat">true</item> <item name="android:windowTranslucentNavigation" tools:targetApi="kitkat">true</item> </style>
注意此時的狀態欄不占用位置還需要在樣式中添加如下配置
<item name="android:fitsSystemWindows">true</item>
然后在BaseActivity的onCreate方法中调用如下方法
private void initSystemBar() {
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.KITKAT) {
SystemBarTintManager tintManager = new SystemBarTintManager(this);
tintManager.setStatusBarTintEnabled(true);
// Holo light action bar color is #DDDDDD
int actionBarColor = Color.parseColor("#1a92fe");
tintManager.setStatusBarTintColor(actionBarColor);
}
}
这里用的用一个开源库
地址:https://github.com/jgilfelt/SystemBarTint
需要在build.gradle中添加
dependencies {
compile 'com.readystatesoftware.systembartint:systembartint:1.0.3'
}