2

Holo.Light テーマを使用して Android アプリを作成しました。APIレベル17の実際のデバイスのHolo.Lightで見栄えの良いアイコンがあり、エミュレーターではAPIレベル8でも動作しますが、APIレベル9の古い電話で試してみると、メニューボタンの背景が暗いのでアイコンがほとんど見えませんが、明るく設定したと思います。

スタイル.xml:

<resources>
    <style name="AppBaseTheme" parent="android:Theme.Light">
    </style>
    <style name="AppTheme" parent="AppBaseTheme">
    </style>
</resources>

値-v11/styles.xml:

<resources>
    <style name="AppBaseTheme" parent="android:Theme.Holo.Light">
    </style>
</resources>

そして私のマニフェストの始まり:

<uses-sdk android:minSdkVersion="8" android:targetSdkVersion="17" />
<application android:theme="@style/AppTheme"

android-support-v4.jar もありますが、これが機能するために必要かどうかはわかりません。

4

2 に答える 2

2

Holo は Android の新しいバージョンまで含まれていなかったため、古いバージョンでは使用できません。ただし、すべての Holo テーマを含み、2.1+ と互換性のあるHoloEverywhereを使用できます。

于 2013-06-07T17:27:31.007 に答える
1

メーカーが何をしたのか、あなたにはわからないと思いますTheme.Light。Android 4の時点で、Google Playがデバイスで実行されている場合、Holoテーマはメーカーによって変更されないことが保証されています(変更を検出した場合、Google Playが実行を拒否することで保護が機能すると思います).

Android 4 より前は、どのテーマにもそのような保証がなかったため、メーカーはTheme.Lightメニュー ボタンの背景を変更するなど、オリジナルに任意の変更を加えることができました。アプリがエミュレーターで動作するという事実は、この理論を裏付けています。

そのデバイスに「API Demos」をインストールして、テーマが実際にどのように見えるかを確認します (「 」を参照android-sdk/samples/android-17/ApiDemos)。

から拡張することに加えてTheme.Light、アプリにとって重要なすべてのスタイルに明示的な値を指定するか (これは面倒です)、Eric Zhang が提案したように HoloEverywhere を使用する必要があります。

于 2013-06-10T10:13:21.540 に答える