以下のスクリーンショットは私の問題を示しています。
1 つ目EditTextは上にシフトされたアラビア語のヒントを示していますが、2 つ目EditTextは参考用であり、英語版が完全に問題ないことを示しています。についても同様Buttonです。
strings.xml次のように文字列を宣言しました。
<string name="ar_login">دخول</string>

これは、EditText のヒントを設定する方法です。
UserName.setTypeface(ArabicFont);
String hint = getString(R.string.ar_HintUserName);
....
UserName.setHint(hint);
更新: 私はこれを使用しましたが、役に立ちません:
UserName.setGravity(Gravity.CENTER_VERTICAL);
しかし、これで Text は少し下に移動しました。しかし、私はそれが一般的ではないと思います:
UserName.setPadding(0,15,0,0);
で単語が下に移動しますPadding。English
更新 2: もともとアラビア語のテキストは分離されています。文字ごとに表示されることを意味します。彼らに参加するために、私はこのアラビア語のリシェイパーを使用していました。コードをダウンロードするには、このリンクを確認してください
アラビア語のテキストを再形成してからヒントTextViewとして設定するとEditText's、上に移動しましたが、再形成しなくても問題ありません。
だから、reshapeクラスを変更する必要があるか、テキストビューを単語を分割しないようにする必要があるかどうかを推測します。しかし、どこに行けばいいのかわからない?