从java转安卓四个月时间,做了三个安卓项目,一直未实现状态栏和标题栏统一的颜色,因为标题栏是渐变色,在style AppTheme里面设置样式只能把状态栏设置一个颜色,渐变颜色没法设置,赶项目过程中就没有仔细解决这个问题,现在有点空闲了,把项目优化下,就找了相关资料,解决了这个一直想解决的问题,方案如下:
第一种情况:标题栏为渐变色,或者想让状态栏样式带有图片,就使用代码控制统一风格,把状态栏设置为透明色,状态栏透明了,状态栏的颜色就会自动跟随下面的布局
设置透明状态栏,可在Acitvity 的 onCreate方法中调用
public static void setTransparentStatusBar(Activity activity) {
//5.0及以上
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) {
View decorView = activity.getWindow().getDecorView();
int option = View.SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN
| View.SYSTEM_UI_FLAG_LAYOUT_STABLE;
decorView.setSystemUiVisibility(option);
activity.getWindow().setStatusBarColor(Color.TRANSPARENT);
//4.4到5.0
} else if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.KITKAT) {
WindowManager.LayoutParams localLayoutParams = activity.getWindow().getAttributes();
localLayoutParams.flags = (WindowManager.LayoutParams.FLAG_TRANSLUCENT_