0

ここにある代替リソース/テーマセレクターソリューションを使用して、新しいデバイスでHoloテーマに切り替えようとしています。プロジェクトは、プロジェクトビルドターゲットとしてAndroid2.1を使用します。

ただし、このXMLをres / values-v11/styles.xmlに配置すると

<resources>
    <style name="AppTheme" parent="@android:style/Theme.Holo" />
</resources>

Eclipseはエラーを示します:

アイテムの親の取得中にエラーが発生しました:指定された名前「@ android:style/Theme.Holo」に一致するリソースが見つかりません。styles.xml / MyApp / res / values-v11

マニフェストはこれらのSDK値を設定します。

<uses-sdk
    android:minSdkVersion="7"
    android:targetSdkVersion="15" />

プロジェクトビルドターゲットをAndroid3.0に設定した場合にのみ、このプロジェクトをコンパイルできますが、古いデバイスでは実行されません。

したがって、このスタイルセレクターの回避策はEclipseADTでは使用できません。これはEclipseADTのバグですか、v11 styles.xmlはADTによって無視されるべきではありませんか?


更新:回避策を使用して、ファイルの内容を次のように設定できます

<resources>
    <style name="AppTheme" parent="@android:style/Theme" />
</resources>

デフォルトのテーマをアクティブにします。

4

2 に答える 2

2

android:minSdkVersion下位の API に設定すると、Android 3.0 < でアプリを実行できます。したがって、ターゲットを API レベル 11+ に設定し、最小 SDK を 10< に設定します。

于 2012-08-30T18:31:16.523 に答える
0

ターゲットを 3.0 に設定しても、古いデバイスで実行されないように制限されません。それは minSDKVersion になります。ターゲットを 11+ に設定すると、11+ のみの機能にアクセスできるようになります。API レベル 11 以降を使用するコード内の機能を使用しないように注意する必要があります。考えられる解決策の 1 つは、互換性ライブラリをはるかに超える ActionBAr 用の ActionBar Sherlock と共に、API <11 用の Holo テーマを提供する inot HoloEverywhere を探すことです。

于 2012-08-30T18:32:26.400 に答える