2017-02-23 4 views
0

Androidのフォルダにリソース修飾子を使用する場合、新しいリソースをすべて供給する必要がありますか?Androidのフォルダにリソース修飾子を使用する場合、新しいリソースをすべて供給する必要がありますか?

私が持っている(もともと)フォルダ:layout1.xmllayout2.xmlを言う含ま

layout 

。私はlayout2.xmlの新バージョン を望んでいないが、私は、layout1.xmlの新しいバージョンをしたいので

layout-h529dp 

は、それから私は、フォルダを追加しました。私の質問は-doです。リソース修飾子を含む新しいフォルダを追加すると、完全に新しい完全なレイアウトセットを提供する必要がありますか?私はXMLコードの重複を避けたいと思います。 layout-h529dpフォルダからlayout2.xmlを削除すると、元のlayoutフォルダからlayout2.xmlが見つからないため、アプリがクラッシュするようです。

答えて

2

んが、あなたはすべてressourcesあなたが作成するたびに供給する必要はありませんありません修飾子付きの新しいフォルダ。それは本当に迷惑でしょう。

フォルダlayout-h529dp内にlayout1.xmlフォルダを作成すると、h529dpを持つデバイスが使用されているときに、このlayout1.xmlを使用するようにシステムに指示されます。しかし、2番目のlayout2.xmlを提供していない場合、システムはデフォルトでフォルダレイアウト内の最初のレイアウトを使用します。

+0

OK、私は間違ったことを理解しました。私は、フォルダレイアウト-h529dpの代わりにフォルダレイアウトからlayout2.xmlを削除しました! – JohnyTex

1

常にデフォルトのレイアウトをすべて提供してください。特定のデバイス構成に基づいて別のレイアウトを提供する場合は、その修飾子を含むフォルダを定義します。アプリケーションがその修飾子の要件を満たしている場合、デバイス上で実行されると、フォルダからレイアウトを選択します。次の例を参照してください:

レイアウト> layout1.xml、 layout2.xml

レイアウト-h529dp> layout1.xml

関連する問題