5

Android のネイティブ RTL ミラーリング (API レベル 17 で導入) をサポートしていないデバイスにのみ使用したい、アラビア語ユーザー向けの別のレイアウト ファイルがあります。API 17 以上のデバイスを使用している場合は、デフォルトの XML ファイルを使用したいと考えています。

どうすればこれを達成できますか? 知っている:

home.xmlmyを入れるres/layout/と、デフォルトのレイアウト ファイルとして使用されます。

home.xml別のものを入れるres/layout-ar/と、アラビア語のスピーカーに使用されます

別のものを入れるhome.xmlres/layout-ar-v17/、v17 以降のアラビア語話者に使用されます。*

*問題は、別の home.xml を持ちたくないということです。システムにデフォルトを使用してミラーリングしてもらいたいだけです。

4

2 に答える 2

6

Layout Aliasesを使用できます。最終的に 2 つのレイアウト ファイルが作成されます。それらを home_one.xml と home_two.xml と呼びましょう。次にres/values/layout.xmlres/values-ar-v17/layout.xmlあなたが持っているでしょう

<item name="home" type="layout">@layout/home_one</item>

そしてres/values-ar/layout.xmlあなたが必要とするでしょう

<item name="home" type="layout">@layout/home_two</item>
于 2013-05-08T19:14:53.547 に答える
1

2 つの再利用可能なレイアウト (ここで説明) を作成することをお勧めします。1 つはデフォルト レイアウト用で、もう 1 つは API レベル 17+ のアラビア語用です。home.xml次に、適切な構成固有のフォルダーにさまざまなファイルを定義して<include><merge>適切なレイアウトにすることができます。<include>そうすれば、レイアウト全体ではなく、単一のタグを複製するだけで済みます。

于 2013-05-08T19:05:28.573 に答える