たとえば、(API 4-10の場合)と(API 11+の場合)Viewという2つのバージョンのカスタムがあります。どちらもAndroidのクラスから継承しています。API11以降でのみ使用可能な1つのメソッドを拡張してオーバーライドするだけです。MyViewMyView_v11ViewMyView_v11MyViewView
現在、次のようなさまざまなレイアウトファイルを使用しています。
layout
main_activity.xml
layout-v11
main_activity.xml
最初のレイアウトは、を指すビューを定義しMyView、2番目のレイアウトは、そのビューを変更してそれを指すだけMyView_v11です。
私の質問:異なるAPIレベルのいくつかの個別のヘルパーレイアウトファイルのように、1つのファイルのみを使用するにはどうすればよいですか?レイアウトには他にもたくさんのビューがありますが、カスタムビューは1つしかないためです。新しいサンプルAndroidプロジェクトを作成するときにAndoidSDKが生成するのと同じ手法を使用したいと思います。layout/main_activity.xml R.style.AppTheme
values:
<style name="AppTheme" parent="@android:style/Theme" />
values-v11:
<style name="AppTheme" parent="@android:style/Theme.Holo" />
編集済み:私は他の解決策を好みcommonswareます。これが正しいことを願っています。