2

これらのフォルダーに 3 つの styles.xml ファイルがあります。

解像度/値:

<style name="CustomTheme" parent="Theme.Sherlock.Light">
    <item name="android:windowBackground">@color/white</item>
    <item name="android:colorBackground">@color/white</item>
</style>

解像度/値-v11

<style name="CustomTheme" parent="android:Theme.Holo.Light">
    <item name="android:windowBackground">@color/white</item>
    <item name="android:colorBackground">@color/white</item>
</style>

解像度/値-v14

<style name="CustomTheme" parent="android:Theme.Holo.Light">
    <item name="android:windowBackground">@color/white</item>
    <item name="android:colorBackground">@color/white</item>
</style>

v11 と v14 で Holo.Light を構成として使用するのは正しいですか? そして、Theme.Sherlock.Light をデフォルトにするには?

v-11 エミュレーターでテストしていますが、コードに次の行を追加する必要がありました。

setTheme(R.style.Theme_Sherlock_Light);

ただし、必要なすべてのバージョンで機能するかどうかはわかりません。これは正しい設定ですか?それとも何か調整する必要がありますか?テーマが xml で既に指定されている場合、なぜコードでテーマを指定しなければならなかったのか、少し混乱しています。

ありがとう、アレックス

4

2 に答える 2

6

私があなたの疑問を誤解していなければ:

Sherlock は、古いデバイス用の Android ActionBar のポートです。そのため、Sherlock を使用している場合はandroid:Theme.Holo.Light、両方 (古いデバイスと新しいデバイス) で同じスタイルを取得できます。スタイルを古いデバイスに適用する場合は、android:プレフィックスを削除する必要があります

このようにして、古いデバイスと新しいデバイスの外観が同じになります

<style name="CustomTheme" parent="Theme.Sherlock.Light">
    <item name="android:windowBackground">@color/white</item>
    <item name="android:colorBackground">@color/white</item>
    <item name="windowBackground">@color/white</item>
    <item name="colorBackground">@color/white</item>
</style>

そのため、ファイルを保持styleでき、タブレットとハンドセットで異なるカスタマイズが必要な場合はdimenscolorsファイルをカスタマイズできます。

于 2013-06-21T10:23:56.587 に答える