1

私のmain.xmlファイルには、とりわけ、アプリの背景色に関する情報が含まれています。

android:background="@color/background_default"

また、ユーザーが選択できるさまざまなスタイルがあり、他のxmlファイルに保存されています。ユーザーがそれらの1つを選択すると、に含まれているデフォルト値main.xmlが上書きされるようにします。

残念ながら、テキストの色のみが上書きされ、背景色は変更されません。カスタムスタイルの1つは次のとおりです。

<?xml version="1.0" encoding="utf-8"?>
<resources>
    <style name="Light">
        <item name="android:textColor">@color/text_light</item>
        <item name="android:windowBackground">@color/background_light</item>
        <item name="android:colorBackground">@color/background_light</item>
    </style>
</resources>
4

2 に答える 2

1

android:background="@color/background_default"main.xmlから省略して、その色を使用するデフォルトのテーマを適用できます。次に、ユーザーがテーマを変更すると、それに伴って背景も変更されます。

テーマを使用して、ビューxmlで指定された色をオーバーライドすることはできません。ビューはより具体的で、テーマを上書きします。

于 2013-01-11T17:16:33.227 に答える
0

スタイルの親属性を使用してデフォルトのテーマを継承し、以下をオーバーライドします。

<?xml version="1.0" encoding="utf-8"?>
<resources>
    <style name="Light" parent="android:Theme">
        <item name="android:textColor">@color/text_light</item>
        <item name="android:windowBackground">@color/background_light</item>
        <item name="android:colorBackground">@color/background_light</item>
    </style>
</resources>
于 2013-01-11T16:51:10.807 に答える