设置状态栏颜色

来源:互联网 发布:农村淘宝服务站点查询 编辑:程序博客网 时间:2024/06/16 17:58

1、导入依赖:

//沉浸式状态栏compile 'com.readystatesoftware.systembartint:systembartint:1.0.3'

2、工具类:

/** * 设置状态栏颜色与主题颜色一致 */public class TintUtil {    public static void tint(Activity activity) {        if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.KITKAT) {            activity.getWindow().addFlags(WindowManager.LayoutParams.FLAG_TRANSLUCENT_STATUS);            SystemBarTintManager tintManager = new SystemBarTintManager(activity);            //开启状态栏着色(这句必须写,不然下面设置的状态栏颜色无效)            tintManager.setStatusBarTintEnabled(true);            //设置状态栏颜色            tintManager.setStatusBarTintColor(ContextCompat.getColor(activity, R.color.main));        }    }}

3、使用自定义主题:

<!-- 沉浸式状态栏 -->    <style name="myTheme" parent="AppTheme">        <item name="android:fitsSystemWindows">true</item>        <item name="android:clipToPadding">false</item>    </style>

其实,主要是要让你的主题包含上面两句即可,不然状态栏会覆盖你的activity的布局之上。

4、在BaseActivity的onCreate()方法里设置状态栏颜色:

 @Override    protected void onCreate(Bundle savedInstanceState) {        super.onCreate(savedInstanceState);        TintUtil.tint(this);    }

然后,让你的Activity继承该BaseActivity即可。

原创粉丝点击