android-沉浸状态栏以及状态栏背景色如何设置( 四 )


该工具类用法如下:
@Overrideprotected void onCreate(Bundle arg0) {super.onCreate(arg0);windowAttributes = getWindow().getAttributes();activity = this;mInflater = LayoutInflater.from(activity);globalUtils = GlobalUtils.shareInstance();screenMetrics = new DisplayMetrics();getWindowManager().getDefaultDisplay().getMetrics(screenMetrics);globalUtils = GlobalUtils.shareInstance();userManager = UserManager.sharedInstance();initHttpUtils();if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.KITKAT) {//状态栏透明 需要在创建SystemBarTintManager 之前调用 。setTranslucentStatus(true);}SystemBarTintManager tintManager = new SystemBarTintManager(this);tintManager.setStatusBarTintEnabled(true);//使StatusBarTintView 和 actionbar的颜色保持一致,风格统一 。tintManager.setStatusBarTintResource(R.color.white);// 设置状态栏的文字颜色tintManager.setStatusBarDarkMode(true, this);}@TargetApi(19)private void setTranslucentStatus(boolean on) {Window win = getWindow();WindowManager.LayoutParams winParams = win.getAttributes();final int bits = WindowManager.LayoutParams.FLAG_TRANSLUCENT_STATUS;if (on) {winParams.flags |= bits;} else {winParams.flags &= ~bits;}win.setAttributes(winParams);}
最后要注意:状态栏透明可能导致布局向上便宜,所以需要设置根布局的:=”true”
该工具类用了一下,还可以,效果非常好 。原网址:
上面可以设置状态栏和标题栏的字体颜色和背景颜色,方法有多种 。状态栏字体颜色好像V6有两种,一个白色,一种黑色,不设置黑色的话,默认就是白色 。但是本人水平有限,还没有看懂作者的代码的大部分意思,以后看懂之后在进行补充 。
以上代码,亲测有效!大家如果用的时候有什么问题,可以留言或评论,我看到会及时回复的 。【握手~~~】