标题栏颜色的奇怪行为

时间:2012-09-19 20:28:17

标签: android android-ui

我打算更改标题栏颜色,实际上效果非常好。

<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中指定标​​题栏颜色不起作用。没有线索。非常神秘。

0 个答案:

没有答案