在rtl布局中,edittext pointer在android设备中损坏。
我有一个支持英语和阿拉伯语的应用程序。具有输入类型编号的编辑文本字段主要存在此问题。在编辑文本字段中输入数字时,指针将分成两半,如图所示。
这是edittext的xml代码。
<EditText
android:id="@+id/et_budget"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_margin="15dp"
android:background="@drawable/white_background_theme_border"
android:ems="10"
android:gravity="center"
android:hint="@string/choose_budget"
android:inputType="number"
android:padding="15dp"
android:textAppearance="?android:attr/textAppearanceLarge"
android:textColorHint="@android:color/black" />
有人遇到此问题。是否有相同的修复程序。预先感谢。
您尝试过此吗
布局
<EditText>
...
android:gravity="right"
android:textDirection="rtl"
</EdiText>
AndroidManifest.xml
<application
...
android:supportsRtl="true">
...
</application>
只需添加此行
android:layoutDirection="ltr"
不是使用android:inputType="number"
,而是在我的情况下设置android:inputType="phone"
是可行的。因为我只想在编辑文本中输入数字。
以下是我的xml编辑文本:
<EditText
android:layout_gravity="start"
android:textAlignment="viewStart"
android:textDirection="rtl"
android:gravity="center_vertical"
android:layout_width="match_parent"
android:hint="abc"
android:inputType="phone"
android:id="@+id/myNumber"
android:paddingStart="8dp"
android:paddingLeft="8dp"
android:background="@android:color/transparent"
android:textColorHint="#767676"
android:backgroundTint="@android:color/transparent"
android:layout_height="fill_parent"
tools:ignore="RtlCompat" />
android:textDirection="ltr" left to right
android:textDirection="rtl" right to left
它使文本指向所选的一面。如果您输入的值是拉丁字符,我强烈建议您使用ltr(对于阿拉伯语)。但是标签是按其性质定位的(例如,阿拉伯语右侧,英语左侧)