您的位置:首页 > 移动开发

Android应用改变状态栏颜色和APP风格保持一致

2017-10-16 13:45 776 查看
第1步:

在项目moudle下的gradle文件里添加以下依赖

compile 'com.githang:status-bar-compat:0.3'

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


第2步:

实现一个改变状态栏颜色的工具类

public class ChangeStatusBarColor {
public static void initSystemBar(Activity activity) {

if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.KITKAT) {

setTranslucentStatus(activity, true);

}

SystemBarTintManager tintManager = new SystemBarTintManager(activity);

tintManager.setStatusBarTintEnabled(true);

// 使用颜色资源
tintManager.setStatusBarTintResource(R.color.colorAccent);

}

@TargetApi(19)

private static void setTranslucentStatus(Activity activity, boolean on) {

Window win = activity.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);

}
}


第3步:

在需要改变状态栏颜色的地方调用改变状态栏颜色的方法

//改变状态栏的颜色
ChangeStatusBarColor.initSystemBar(this);
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  android