我有一个 EditText 设置为 gravity Right,这样如果语言是阿拉伯语,文本从右边开始。
注意:我的应用程序支持 RTL,我没有为我的 EditText 设置 TextDirection,因为那样会出现同样的问题。 Gravity 设置为 Right 可以完美地完成这项工作。只有当我将 InputType 设置为 Number 或 Phone 时,我才会遇到问题。
如果 InputType 设置为 number/phone,文本的开头和结尾会有双光标,有点困惑。
为了演示这一点,我有两个带有 InputType Text 和 Number 的 EditText,Gravity 都设置为 Right。我的应用程序支持 RTL,我的手机现在设置为阿拉伯语
list
android:supportsRtl="true"
XML
<EditText
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:hint="text"
android:inputType="text"
android:lines="1"
android:maxLines="1"
android:gravity="right"
/>
<EditText
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:hint="@string/phone"
android:inputType="number"
android:lines="1"
android:maxLines="1"
android:gravity="right"
/>
这是带有 InputType Number 的第二个 EditText 行为的屏幕截图。
关于如何摆脱双光标的任何指示?或任何替代方案。
谢谢 R
最佳答案
使用属性 layout_direction 作为“ltr”和重力“right”。
<EditText
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:hint="@string/phone"
android:inputType="number"
android:lines="1"
android:maxLines="1"
android:gravity="right" />
这解决了我的问题。
关于android - EditText 中的双光标用于输入类型数字/电话(RTL 阿拉伯语),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48497850/