美文网首页
Android 状态栏沉浸式效果

Android 状态栏沉浸式效果

作者: _7宇 | 来源:发表于2017-08-22 15:31 被阅读0次

    我们在微信或者QQ 网易云上都有看到过状态栏上的颜色或者 背景是一致的。最近也用到这个需求,分享一下代码

    代码很简单两步就足够了

    第一步,在需要设置沉浸式效果的Activity中调用此方法,如果整个APP统一的话建议在baseActivity中调用,就不需要每个activity都重写了。

    /**
         * 设置状态栏颜色
         * @param activity
         */
        public static void setBarTopColor(Activity activity,int color) {
            if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.KITKAT) { //系统版本大于19
                setTranslucentStatus(true,activity);
            }
            SystemBarTintManager tintManager = new SystemBarTintManager(activity);
            tintManager.setStatusBarTintEnabled(true);
            tintManager.setStatusBarTintResource(color); //设置标题栏颜色,此颜色在color中声明
        }
    

    第二步,在activity布局的根layout中添加一句代码, android:fitsSystemWindows="true"
    例如:

    <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
                    android:id="@+id/root_home"
                    android:layout_width="match_parent"
                    android:layout_height="match_parent"
                    android:fitsSystemWindows="true">
    
    

    搞定了!就是这么简单。当然你的bar也要设置相同的颜色,上效果图.


    以上

    相关文章

      网友评论

          本文标题:Android 状态栏沉浸式效果

          本文链接:https://www.haomeiwen.com/subject/kssldxtx.html