如何在我的应用程序中将状态栏设置为白色背景和黑色文本(黑色图标)
How to set Status bar to white background and black text (black icon) in my app
我想在我的应用程序中将状态栏设置为白色背景和黑色文本(和黑色图标)。我发现一些应用程序可以做到这一点。但是从 google 搜索,我找不到任何解决方案 this.There 有很多关于如何设置状态栏的 color.Also 的解决方案,比如 SystemBarTint ,它只能设置背景,但不能设置整个状态栏的样式(白底黑字或黑底白字颜色)。
它适用于 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));
}
将这是您的 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>
我发现此解决方案使用此代码:
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
我想在我的应用程序中将状态栏设置为白色背景和黑色文本(和黑色图标)。我发现一些应用程序可以做到这一点。但是从 google 搜索,我找不到任何解决方案 this.There 有很多关于如何设置状态栏的 color.Also 的解决方案,比如 SystemBarTint ,它只能设置背景,但不能设置整个状态栏的样式(白底黑字或黑底白字颜色)。
它适用于 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));
}
将这是您的 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>
我发现此解决方案使用此代码:
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