在Android中,如何更改状态栏透明的颜色,如下图所示[重复]
Posted
技术标签:
【中文标题】在Android中,如何更改状态栏透明的颜色,如下图所示[重复]【英文标题】:In Android How do I change colour of status bar transparent as shown in bellow photograph [duplicate] 【发布时间】:2018-08-10 13:31:07 【问题描述】:我可以在我的应用中像这样更改状态栏颜色吗?
【问题讨论】:
1 2 3 4I've seven years of android exp
。 Tbh,如果你有你就不会问这个问题。 Do not show your foolishness in public
。剪掉个人言论。 How can you say I've not made any attempt?
你还没有展示你的任何尝试。我不会在此线程中回复您的任何 cmets。祝你的项目好运
【参考方案1】:
是的,您可以更改它的颜色,但我不确定将其更改为透明是否会达到您想要的效果
public static void setStatusBarColor(Activity activity, int color)
Window window = activity.getWindow();
window.clearFlags(WindowManager.LayoutParams.FLAG_TRANSLUCENT_STATUS);
window.addFlags(WindowManager.LayoutParams.FLAG_DRAWS_SYSTEM_BAR_BACKGROUNDS);
window.setStatusBarColor(ContextCompat.getColor(activity, color));
【讨论】:
【参考方案2】:你可以这样做-:
private void changeStatusBarColor()
Window window = this.getWindow();
// clear FLAG_TRANSLUCENT_STATUS flag:
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.KITKAT)
window.clearFlags(WindowManager.LayoutParams.FLAG_TRANSLUCENT_STATUS);
// add FLAG_DRAWS_SYSTEM_BAR_BACKGROUNDS flag to the window
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP)
window.addFlags(WindowManager.LayoutParams.FLAG_DRAWS_SYSTEM_BAR_BACKGROUNDS);
// finally change the color
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP)
window.setStatusBarColor(ContextCompat.getColor(this, R.color.colorPrimaryDark));
【讨论】:
以上是关于在Android中,如何更改状态栏透明的颜色,如下图所示[重复]的主要内容,如果未能解决你的问题,请参考以下文章