Android アプリケーションの複数言語サポートを表示できることはわかっています。異なる値のフォルダーの例は、values-en 、values-ar です。
私の質問は、言語が変更されたときにレイアウト スタイルを変更できるかどうかです。
英語と同じように、すべてのことは「左から右」から始まりますが、アラビア語はちょうどそれに適しています。選択した言語が英語の場合は左側に画像を配置し、言語がアラビア語に変更された場合はレイアウトを変更することは可能ですか?
Android アプリケーションの複数言語サポートを表示できることはわかっています。異なる値のフォルダーの例は、values-en 、values-ar です。
私の質問は、言語が変更されたときにレイアウト スタイルを変更できるかどうかです。
英語と同じように、すべてのことは「左から右」から始まりますが、アラビア語はちょうどそれに適しています。選択した言語が英語の場合は左側に画像を配置し、言語がアラビア語に変更された場合はレイアウトを変更することは可能ですか?
アプリケーションのレイアウト方向。ldrtl
を意味し"layout-direction-right-to-left"
ます。ldltr
を意味"layout-direction-left-to-right"
し、デフォルトの暗黙的な値です。
layouts, drawables
これは、 、 、などの任意のリソースに適用できますvalues
。
たとえば、特定のレイアウトを に提供しArabic language
、その他の「右から左へ」言語 (ペルシア語やヘブライ語など) に一般的なレイアウトを提供する場合は、次のようになります。
res/
layout/
main.xml (Default layout)
layout-ar/
main.xml (Specific layout for Arabic)
layout-ldrtl/
main.xml (Any "right-to-left" language, except
for Arabic, because the "ar" language qualifier
has a higher precedence.)
注:アプリのレイアウト機能を有効にするには、 およびに設定するright-to-left
必要があります。supportsRtl
"true"
set targetSdkVersion to 17 or higher.
言語が変更されたときにレイアウト スタイルを変更できますか。
はい。ユーザーが選択する言語に応じて、さまざまなレイアウトを提供できます。これは、リソースの提供のドキュメントで明確に説明されています。
実際には、右から左方向の言語をサポートするために、特定のレイアウト修飾子が提供されていres/layout-ldrtl
ます。
PS: この属性は API 17 以降でのみサポートされます。