我想在我的应用中将状态栏设置为白色背景和黑色文本(以及黑色图标)。我发现一些应用可以做到这一点。但是从谷歌搜索,我找不到任何解决方案。关于如何设置状态栏的颜色有很多解决方案。也像SystemBarTint,它只是可以设置背景,但不设置整个状态栏的样式(白色背景和黑色文字或黑色背景和白色文字颜色)。
答案 0 :(得分:1)
这是你的values-v21 / styles.xml,在Lollipop上启用它: 它只能在API 21之上工作
<resources>
<!-- Base application theme. -->
<style name="AppTheme" parent="Theme.AppCompat.Light">
<item name="colorPrimary">@color/color_primary</item>
<item name="colorPrimaryDark">@color/color_secondary</item>
<item name="colorAccent">@color/color_accent</item>
<item name="android:statusBarColor">@color/color_primary</item>
</style>
</resources>
答案 1 :(得分:0)
它适用于API 21或者伟大的
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) {
Window window = getWindow();
window.addFlags(WindowManager.LayoutParams.FLAG_DRAWS_SYSTEM_BAR_BACKGROUNDS);
window.clearFlags(WindowManager.LayoutParams.FLAG_TRANSLUCENT_STATUS);
window.setStatusBarColor(getResources()
.getColor(R.color.YOurColorname));
}
答案 2 :(得分:-1)
我发现此解决方案使用此代码:
getWindow().addFlags(WindowManager.LayoutParams.FLAG_TRANSLUCENT_STATUS);
getWindow().getDecorView().setSystemUiVisibility(View.SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN);
getWindow().addFlags(WindowManager.LayoutParams.FLAG_DRAWS_SYSTEM_BAR_BACKGROUNDS);
getWindow().clearFlags(WindowManager.LayoutParams.FLAG_TRANSLUCENT_STATUS);
getWindow().setStatusBarColor(Color.TRANSPARENT);// SDK21