使用阿拉伯语编辑Android中的文本问题

时间:2014-04-23 13:28:04

标签: android android-edittext

我有一个包含两个EditText视图的登录屏幕。

用户名&密码字段。

当我将语言更改为阿拉伯语时,密码编辑文本字段右对齐。

我不了解RTL语言规则,但我觉得它开始按照RTL语言规则工作。

用户名字段不受影响。但是密码字段是正确对齐的。

密码文字:

    <EditText
android:id="@+id/login_password"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:paddingLeft="10dp"
android:paddingRight="10dp"
android:singleLine="true"
android:inputType="textPassword"
android:hint="@string/login_input_password_hint" />

用户名:

    <EditText
android:id="@+id/login_user"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:paddingLeft="10dp"
android:paddingRight="10dp"
android:singleLine="true"
android:inputType="texturi"
android:hint="@string/login_input_userid_hint" />

我觉得问题在于== android:inputType =&#34; textPassword&#34; 请告诉我如何纠正这个问题。

3 个答案:

答案 0 :(得分:2)

我不知道这个问题的原因是什么,但你可以将文本对齐为

android:gravity="left"
android:textAlignment="gravity"

答案 1 :(得分:0)

尝试

android:gravity="right"

它将解决此问题

答案 2 :(得分:0)

首先,您可以获取位置信息并进行相应处理。

如果该位置显示阿拉伯语,则可以将重力设置为EditText。
使用android:inputType="textPassword"

然后检查(科特琳码):

val locale = Locale.getDefault().language
if (locale == "ar") {
    yourEdittext.gravity = Gravity.RIGHT
} else { 
    yourEdittext.gravity = Gravity.LEFT 
}