AppCompat ライブラリを使用して、API レベル 9 までのデバイスをサポートしようとしています。Google のサンプル テーマを使用して ActionBar のテーマを設定しようとしていますが、android:action* という名前のアイテムがあることを伝え続けていますrequires API level 11 (current min is 9)
。私は 18 をターゲットにしています。例から直接使用すると、なぜ壊れるのですか? また、API レベル 9 の AppCompat ライブラリを使用して ActionBar のテーマを設定する方法を理解するのを手伝ってくれる人はいますか?
3 に答える
使用しようとしている関数は、API 11 以降でのみ使用できます。ご希望のAPIレベル9の端末ではご利用いただけません。
API レベル 11 が必要 (現在の最小値は 9)
この例は Android 3.0 以降のデバイスで実行できますが、そのためにはマニフェスト ファイルの minSdkVersion を少なくとも 11 に変更する必要があります。
<uses-sdk
android:minSdkVersion="11"
android:targetSdkVersion="18" />
アイテムはandroid:action*
API 11 以降でのみ使用できます。さまざまな API レベルをサポートするために、Android にはさまざまなvalues
ディレクトリが含まれています。プロジェクトのフォルダー構造を見ると、 およびおそらく他のいくつかのディレクトリが表示される可能性がres/values
ありres/values-11
ます。ご想像のとおり、11
は API 11 の略です。これは、API 11 以降でのみ使用できるテーマをここに含める必要があることを意味します。values
ディレクトリはあなたのベースです。
したがって、この例では、テーマ ファイルを 2 つの異なるファイルに分割する必要があります。含まれるパーツはフォルダー内android:action*
のテーマ ファイルにある必要がvalues-11
あり、その他のパーツはベースvalues
フォルダーにとどまることができます。Android は適切なテーマを自動的に選択します。
この、特にテーマの適用に関する下部の部分をよく読む必要があります。さまざまな API レベルにテーマを適用する方法について説明します。
を含むすべてのアイテムを削除し、名前空間を含まandroid:action*
ないものだけを残してください。action*
android
これは私にとってはうまくいきますが、アクションバー用のこの素晴らしいスタイルジェネレーターからスタイルを取得しました: http://jgilfelt.github.io/android-actionbarstylegenerator/