之前一致设置的是状态栏 透明的这样子, 但是在不同版本的机型上可能显示的效果会有偏差,这也是google做了些修改,5.0支持设置颜色, 4.0只支持透明而已
想要4.4 - 6.0风格完全保持一致 就设置状态栏的颜色, 如果想要设置 状态栏透明的话,中间有些的状态栏上面是 有层灰色的(颜色会深一些, 这也是google做了修改,希望能更分辨请状态栏这样子)
一、状态栏设置颜色(5.0)
1. 在代码中设置的代码
5.0中提供了setStatusBarColor 的方法
//参数设置 activity 颜色
public static void setWindowStatusBarColor(Activity activity, int colorResId) {
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) {
//得到窗口
Window window = activity.getWindow();
window.addFlags(WindowManager.LayoutParams.FLAG_DRAWS_SYSTEM_BAR_BACKGROUNDS);
//设置状态栏的颜色 window.setStatusBarColor(activity.getResources().getColor(colorResId));
//设置底部的颜色
window.setNavigationBarColor(activity.getResources().getColor(colorResId));
}
public static void setWindowStatusBarColor(Dialog dialog, int colorResId) {
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) {
Window window = dialog.getWindow();
window.addFlags(WindowManager.LayoutParams.FLAG_DRAWS_SYSTEM_BAR_BACKGROUNDS);
window.setStatusBarColor(dialog.getContext().getResources().getColor(colorResId));
window