我们知道创建一个activity在默认情况下展示在界面的是包括状态栏、actionbar、内容区域三部分。
而随着Androidsdk的更新,actionbar已经退出了历史舞台,大家现在都用toolbar替换actionbar作为标题栏,那么默认情况下状态栏的颜色和toolbar的颜色不一致,如下图:
但是在现在的应用中,大部分都保持状态栏和toolbar的颜色一致,原因就是好看,更加符合审美,要达到一致效果那么只需要下面两步就可以:
1.在activity的单独制定主题样式或者application主题样式中加入
<item name="android:windowTranslucentStatus">true</item>
这一步还有一种方法是在代码中设置,如下:
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.KITKAT) {
WindowManager.LayoutParams localLayoutParams = getWindow().getAttributes();
local LayoutParams.flags = (WindowManager.LayoutParams.FLAG_TRANSLUCENT_STATUS | localLayoutParams.flags);
}
上面代码表示设置状态栏为透明,在代码中设置更为推荐,因为xml设置可能在某些手机中无法生效。
2.紧接着在toolbar中加入如下一行代码:
android:fitsSystemWindows="true"