当Android 4.4 KitKat发布的时候,每个人都很兴奋看到新的半透明状态栏和导航栏,这确实提高了安卓系统的美感, 我也是被很多这样的应用吸引,试着实现这样沉浸式的效果,看下效果图更直观。

完成这样的效果很简单,GitHub上已经实现对应的

首先,Studio下添加依赖或者引入相应的jar文件。

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

其次,在Activity中加入如下代码:

	public void initSystemBarTint(boolean on, int res) {
        if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.KITKAT) {
            setTranslucentStatus(on);
            SystemBarTintManager tintManager = new SystemBarTintManager(this);
            tintManager.setStatusBarTintEnabled(on);
            tintManager.setStatusBarTintResource(res);
        }
    }

    private void setTranslucentStatus(boolean on) {
        Window win = getWindow(); WindowManager.LayoutParams winParams = win.getAttributes();
        int bits = WindowManager.LayoutParams.FLAG_TRANSLUCENT_STATUS;
        if (on) {
            winParams.flags |= bits;
        } else {
            winParams.flags &= ~bits;
        }
        win.setAttributes(winParams);
    }

最后,在对应Activity的根布局中加入下面的属性即完成。

android:fitsSystemWindows=”true”