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

动态设置状态栏颜色和app主色或者当前页面主色一致

2017-09-05 16:54 357 查看
废话不说了,直接上代码吧。

1.动态的创建TextView:

// 动态设置状态栏颜色和app主色一致
private TextView textView;
private LinearLayout.LayoutParams lParams;

2.在Activity的onCreate()或者其他进行初始化的地方中添加到根视图即可:

textView = new TextView(this);
lParams = new LinearLayout.LayoutParams(LinearLayout.LayoutParams.MATCH_PARENT, getStatusBarHeight());
//设置状态栏颜色和主色一致
textView.setBackgroundColor(Color.RED);
textView.setLayoutParams(lParams);
// 获得根视图并把TextView加进去。
ViewGroup view = (ViewGroup) getWindow().getDecorView();
view.addView(textView);
下面是我在BaseActivity中封装的方法,用来获取状态栏高度。
public int getStatusBarHeight() {
int result = 0;
int resourceId = getResources().getIdentifier("status_bar_height", "dimen", "android");
if (resourceId > 0) {
result = getResources().getDimensionPixelSize(resourceId);
}
return result;
}

 上面代码中假定主色为红色,大家可以根据实际情况在获取到主色时再把textView添加到根视图中。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: