如何将状态栏颜色更改为十六进制颜色?

时间:2019-03-04 14:50:42

标签: android xml statusbar

所以我想将应用程序中的状态栏颜色更改为值#65BC8D。

在以前的Android Studio版本中,我可以在主题编辑器中对其进行更改,但是如何直接在styles.xml中对其进行更改?

2 个答案:

答案 0 :(得分:1)

如果您使用的是AppCompat主题中提供的标准Material主题,则通常为colorPrimaryDark值。您可以将该值更改为所需的十六进制值。例如。

<style name="AppTheme" parent="Theme.AppCompat.Light.DarkActionBar">
    <item name="colorPrimaryDark">#65BC8D</item>
</style>

https://developer.android.com/guide/topics/ui/look-and-feel/themes#CustomizeTheme

还请参考以下图片(取自https://forum.xda-developers.com/android/help/changing-colorprimary-colorprimarydark-t3813991)作为参考:

enter image description here

答案 1 :(得分:0)

如果要以编程方式进行操作,则可以使用

if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.KITKAT) {
Window window = activity.getWindow();

// clear FLAG_TRANSLUCENT_STATUS flag:
window.clearFlags(WindowManager.LayoutParams.FLAG_TRANSLUCENT_STATUS);

// add FLAG_DRAWS_SYSTEM_BAR_BACKGROUNDS flag to the window
window.addFlags(WindowManager.LayoutParams.FLAG_DRAWS_SYSTEM_BAR_BACKGROUNDS);

// finally change the color
window.setStatusBarColor(ContextCompat.getColor(activity,R.color.my_statusbar_color));
};

来源-Change status bar color in Android