Android沉浸式(设置状态栏颜色)

  • Post author:
  • Post category:其他


目前为止只支持4.4以上的版本。



首先需要用到systembartint

compile好之后就可以了,直接上代码了

public class BaseActivity extends FragmentActivity {

    protected SystemBarTintManager tintManager;

    @Override
    protected void onCreate(@Nullable Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        initWindow();
    }

    @TargetApi(19)
    protected void initWindow() {
        if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.KITKAT) {
            getWindow().addFlags(WindowManager.LayoutParams.FLAG_TRANSLUCENT_STATUS);
            tintManager = new SystemBarTintManager(this);
            setStatusBarColor(getResources().getColor(R.color.colorAccent));
            tintManager.setStatusBarTintEnabled(true);
        }
    }

    protected void setStatusBarColor(int color) {
        if (tintManager != null)
            tintManager.setStatusBarTintColor(color);
    }

    protected void disableSystemBarTint() {
            if (tintManager != null)
                tintManager.setStatusBarTintEnabled(false);
    }

}

public class MainActivity extends BaseActivity {

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
//        setStatusBarColor(Color.parseColor("#000000"));
//        disableSystemBarTint();
    }
}

你可以直接继承,在BaseActivity里面设置状态栏的颜色,如果你要设置其他的颜色,可以通过

setStatusBarColor()来设置,
disableSystemBarTint();是根据你title的颜色去设置的,希望能帮到你!






版权声明:本文为lmy545x原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。