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

问题描述 投票:0回答:2

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

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

android xml statusbar
2个回答
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


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

© www.soinside.com 2019 - 2024. All rights reserved.