android实现沉浸式之systembartintmanager

android 4.4 提供了一套能透明的系统ui样式给状态栏和导航栏,这样的话就不用向以前那样每天面对着黑乎乎的上下两条黑栏了,还可以调成跟activity 一样的样式,形成一个完整的主题。

这里简单的方法介绍就不说了,有一个很好用的第三方systembartintmanager , github地址为:https://github.com/jgilfelt/SystemBarTint

使用前在gradle中添加

compile 'com.readystatesoftware.systembartint:systembartint:1.0.3'

用法如下

1,判断当前手机系统是否是4.4以上

if (Build.VERSION.SDK_INT < Build.VERSION_CODES.KITKAT) {
   return;
}

2,初始化 SystemBarTintManager

SystemBarTintManager tintManager = new SystemBarTintManager(TabMainActivity.this);
tintManager.setStatusBarTintEnabled(true);
tintManager.setStatusBarTintResource(R.color.bg_traceparent);//通知栏所需颜色
// set a custom tint color for all system bars
tintManager.setTintColor(Color.parseColor("#99000FF"));
// set a custom navigation bar resource
tintManager.setNavigationBarTintResource(R.drawable.ic_launcher);
3,设置显示与隐藏

@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);
}


也可以关注我的公众号 android实现沉浸式之systembartintmanager_第1张图片

你可能感兴趣的:(沉浸式)