对状态栏 (statusbar) 设置方法的总结

705 阅读1分钟

首先找到巨人的肩膀

仅设置状态栏颜色
   StatusBarUtil.setColor(Activity activity, int color) //color 
需要让view沉浸到状态栏
    StatusBarUtils.setTranslucentForImageView(mContext,0,null);
    
    使用这种方式,如果ui中中标题栏,则有可能需要计算状态栏的高度。不想这么麻烦可以使用 
       (android:fitsSystemWindows="true")这个属性。
       效果就是背景沉浸到状态栏,而视图不会。

状态栏文本默认颜色白色。如果沉浸到状态的view也是白色,会造成看不到状态栏文本的问题。

解决方式
 getWindow().getDecorView().setSystemUiVisibility(View.SYSTEM_UI_FLAG_LIGHT_STATUS_BAR | View.SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN);

加上这句话,状态栏文本颜色会变成黑色。