2017-01-07 12 views
1

言語を英語からアラビア語に切り替えると、レイアウトが左から右に変化しています。 textViewを左から右に変更するにはどうすればよいですか? 例(英語)Rameshの走行速度は34kmphです。 (アラビア語)hpmk43は深刻なハチミツである。英語からアラビア語に言語を切り替えるには、右から左に読むことができますか?

編集1:以下の画像が正しいことを確認してください。

Arabic version English Version

+3

これはRTL言語の仕組みではありません。英語の単語はまだ左から右に読み込まれます。 – ianhanniballake

+0

表示されている文字列の順序を逆にすることを検討しています。あなたの例はアラビア語ではないので、あなたがしようとしていることについてもう少し詳しく説明する必要があります。 – Sufian

答えて

0

新しいstart/end同等物に変更してアプリのleft/rightレイアウトプロパティのすべてを。

単に例として、android:gravityで使用してください。

アプリでManifestを宣言して、アプリがRTLミラーリングをサポートしていることを忘れないでください。Manifestファイルの要素にandroid:supportsRtl="true"を追加してください。

1

setLocale("en");

setLocale("ar"); //英語

を設定//
public void setLocale(String lang) { 
     Locale locale = new Locale(lang); 
     Locale.setDefault(locale); 
     Configuration config = new Configuration(); 
     config.locale = locale; 
     getBaseContext().getResources().updateConfiguration(config, 
       getBaseContext().getResources().getDisplayMetrics()); 
    } 

英語とLTRは、アラビア語などのロケールを設定し、自動RTLは、後にロケール設定されますアラビア語

設定します。 //アプリを再起動することを忘れないでください。

セットのロケールの後

RTLのためのあなたのTextView作業を行うには、重力

+0

完璧、良い:) –

1

を変更する必要はありません、あなたは、RTLのレイアウトプロパティを追加する必要があります。 left-to-right流れ、start=leftend=rightについてはandroid:layout_marginRight

の代わりにandroid:layout_marginLeftandroid:layout_marginEndの代わりに

使用android:layout_marginStart

right-to-leftフローについては、start=right,end=leftです。

このRTLサポートは、Android 4.2のRTLレイアウトのサポートの一部として、APIレベル17で追加されました。 これはあなたを助けます https://developer.android.com/about/versions/android-4.2.html#RTL

関連する問題