4

タイトルバーの色を変更したいのですが、実際にはうまく機能します。

<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同じに設定すると、すべて正常に機能します。

角の丸い境界線を生成する背景のドローアブルは次のとおりです。

<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ません。全く分からない。とても神秘的です。

4

0 に答える 0