android怎么设置状态栏和actionbar同颜色?

 我来答
庚心不变群子
推荐于2019-08-06 · TA获得超过2996个赞
知道小有建树答主
回答量:616
采纳率:77%
帮助的人:42.5万
展开全部

关键代码:

BaseActivity

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

getWindow().addFlags(WindowManager.LayoutParams.FLAG_TRANSLUCENT_STATUS);//这就是透明

}

//透明之后所有的头部都会顶上来,然后就是加paddingtop了

//头部layout公用,rl_title_content是最外层的RelativeLayout。

RelativeLayout rl_title_content = findViewById(R.id.rl_title_content);

if (rl_title_content != null) {

//getStatusBarHeight是获取状态栏的高度的

rl_title_content.setPadding(0,Utils.getStatusBarHeight(this),0,0);//左上右下

}

public static int getStatusBarHeight(Context context) {

Class<?> c = null;

Object obj = null;

Field field = null;

int x = 0, sbar = 0;

try {

c = Class.forName("com.android.internal.R$dimen");

obj = c.newInstance();

field = c.getField("status_bar_height");

x = Integer.parseInt(field.get(obj).toString());

sbar = context.getResources().getDimensionPixelSize(x);

} catch (Exception e1) {

e1.printStackTrace();

}

return sbar;

}

本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式