Android中的RTL EditText损坏的指针问题

问题描述 投票:2回答:4

在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" />

pointer break

有人遇到此问题。是否有相同的修复程序。预先感谢。

android android-edittext android-inputtype
4个回答
2
投票

您尝试过此吗

布局

<EditText>
    ... 
    android:gravity="right"
    android:textDirection="rtl"
</EdiText>

AndroidManifest.xml

<application
    ...
    android:supportsRtl="true">
    ...
</application>

0
投票

只需添加此行

 android:layoutDirection="ltr"

0
投票

不是使用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" />

0
投票
android:textDirection="ltr" left to right
android:textDirection="rtl" right to left

它使文本指向所选的一面。如果您输入的值是拉丁字符,我强烈建议您使用ltr(对于阿拉伯语)。但是标签是按其性质定位的(例如,阿拉伯语右侧,英语左侧)

© www.soinside.com 2019 - 2024. All rights reserved.