我有一个包含两个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; 请告诉我如何纠正这个问题。
答案 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
}