私は現在、Holo テーマに基づいてデザインするために自分のアプリに取り組んでいます。グローバルに私がやりたいことは機能していますが、フォルダーの操作方法について少し混乱していvaluesます。values-v11values-v14
だから私はそれを知っています:
values11以下のAPIをターゲットにしていますvalues-v1111 から 13 の間の API をターゲットにしていますvalues-v1413 以上の API をターゲットにしています
最初は、アプリに必要なすべてのスタイルをすべてのフォルダーに指定する必要があると思っていましたが、一種の継承システムが整っていることに気付きました。
私の問題は、私が本当に混乱していて、これらの 3 つのフォルダー間でこの継承がどのように機能しているかを明確に理解していないことです。
携帯電話での動作を確認するために、次のテストを行いました (Android 4.0 で実行されているため、フォルダーvalues-v14は読み込まれたフォルダーである必要があります)。
valuesテキストの色を青に設定するスタイルがあります。
<style name="TextMedium" parent="@android:style/TextAppearance.Medium">
<item name="android:textColor">@color/Blue</item>
values-v11テキストの色を白に設定するスタイルがあります。
<style name="TextMedium" parent="@android:style/TextAppearance.Medium">
<item name="android:textColor">@color/White</item>
values-v14テキストの色を赤で設定するスタイルがあります。
<style name="TextMedium" parent="@android:style/TextAppearance.Medium">
<item name="android:textColor">@color/Red</item>
上記の最初のケース (異なる色のすべてのフォルダー) では、テキストに読み込まれた色は赤で、values-v14フォルダーが優先されることを意味します。
次に、フォルダーから赤いスタイルをコメントアウトするvalues-v14と、テキストが白くなります。values-v11これは、デバイスがフォルダーを対象としている場合でも、システムがフォルダー内のスタイルを取得するということvalues-v14ですか? valuesデフォルトでフォルダーを使用する可能性があると思いましたが、使用しませんvalues-v11。
より一般的には、私の質問は、これらの 3 つのフォルダーは親と子として機能していますか? つまり:
- デバイスが API バージョン > 13 で実行されている場合、システムは
values-v14次に読み込まvalues-v11れ、最後にvalues. - デバイスが 11 から 13 の間の API で実行されている場合、システムがロード
values-v11されてからvalues. - デバイスが API バージョン 11 未満で実行されている場合、システムは
values.
それが実際に機能している場合、親フォルダーに最大のスタイルを設定しvalues、v11 または v14 で特定のもののみを追加することは理にかなっていますか?
長い質問で申し訳ありません。明確であることを願っています。このテーマ/スタイル システムは、Android ガイドで簡単に説明されているだけであり、それがどのように機能するかについての情報を見つけるのは困難です...
ご協力いただきありがとうございます!