我打算更改标题栏颜色,实际上效果非常好。
<style name="CustomTheme.Dark" parent="android:Theme.Black">
[...]
<item name="android:windowTitleBackgroundStyle">@style/TitlebarBackground.Dark</item>
</style>
<style name="TitlebarBackground.Dark">
<item name="android:background">#303031</item>
</style>
我有PreferenceActivity
。我将背景可绘制应用于ListView
,以获得带圆角的边框。现在我想用标题栏颜色与边框颜色相等,所以在这种情况下我希望标题栏颜色为#303030
。但是,只要标题栏颜色与边框颜色完全相同,它就会变为干净的黑色#000000
:
当我将标题栏颜色设置为几乎与边框颜色相同时 - 例如#303031
- 一切正常:
这是背景drawable,它生成带圆角的边框:
<shape xmlns:android="http://schemas.android.com/apk/res/android" >
<stroke
android:width="4dp"
android:color="@color/border_color" />
<solid android:color="@color/bg_color" />
<padding
android:bottom="4dp"
android:left="4dp"
android:right="4dp" />
<corners
android:bottomLeftRadius="4dp"
android:bottomRightRadius="4dp" />
</shape>
是否有人对此有任何解释...嗯...奇怪的行为?
修改 什么 - 出于一些奇怪的原因 - 也可以通过编程方式设置标题栏背景颜色:
View title = ((ListActivity) context).getWindow().findViewById(android.R.id.title);
View titleBar = (View) title.getParent();
titleBar.setBackgroundColor(context.getResources().getColor(R.color.border_color_dark));
这样我也可以均衡两种颜色。不过,我不明白为什么在XML
中指定标题栏颜色不起作用。没有线索。非常神秘。