安卓中,设置状态栏颜色,使状态栏和标题栏保持一样的颜色风格
从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_STATUS | localLayoutParams.flags);}
}
第二种情况:
标题栏颜色是固定的一种颜色,这个时候要设置状态栏颜色和标题栏一致,就简单多了,直接在styles.xml中设置
colorPrimaryDark的颜色是所需要的颜色就行了
效果如图:

作者:刘梦格
来源:CSDN
版权声明:本文为博主原创文章,转载请附上博文链接!
本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!
