2011-08-03 3 views
3

異なるレイアウトサイズのAndroidスタイルを継承することはできますか?Android異なるレイアウトサイズのスタイルを継承する

たとえば、「値」ディレクトリ(つまり/res/values/style.xml)にMyLabelという名前のスタイルを定義すると、そのラベルから別の値ディレクトリに継承することはできますか? (すなわち/res/values-large-mdpi/style.xml)

私がやっていることは、自分のアプリケーションのレイアウトを制御するスタイルを束ねることですが、レイアウトサイズに基づいてフォントサイズを変更しますスクリーン密度。ほとんどのスタイルを1つのファイルに入れておき、他のスタイルファイルにフォントサイズを設定したいと思います。

答えて

1

これは2つの別々のファイルで行う必要があります。 style.xmlがvaluesとvalues-large-mdpiにある場合、システムはlargi-mdpiにあるものを自動的に使用し、それが適用され、もう一方を却下します。

/res/values/styles-common.xmlのようなものがあり、values-large-mdpiに対応するものがない場合、システムはその値を使用します。

共通ファイル内のすべての共通スタイルを定義し、特殊スタイルからそれらを参照します。

+0

ありがとうございます!私はそれを試して、それが動作するかどうかをお知らせします。 –

+0

私は、高さ、幅、およびテキストを含む "MyStyle"という名前のスタイルを含む/res/values/style-common.xmlを作成しました。次に、/res/values-xlarge/style.xmlを作成して、text属性をオーバーライドしました。 xlargeエミュレータを起動すると、MyStyleにheight-width属性がないためにActivityがクラッシュします。つまり、style-common.xmlから継承しませんでした。 –

+0

共通に「親」を設定しましたか?共通ファイルに1つ、特殊ファイルに1つずつ、2つの別々のスタイルが必要で、共通ファイル内のスタイルに親を設定する必要があります。 – EboMike

関連する問題