Edittext cursor breaks in marshmallow rtl supported layout

Viewed 1675

enter image description here

I am facing weird issue in marshmallow. When locale is ar and I type english text then cursor in edittext breaks

Refer screenshot

<EditText
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:ems="10"
    android:gravity="left|start"
    android:hint="@string/app_name"
    android:inputType="textPassword"
    android:padding="10dp"
    android:textAlignment="viewStart"
    android:textDirection="locale">
    <requestFocus/>

5 Answers

I faced same problem. below is my solution:

<EditText
       android:id="@+id/etCode"
       style="@style/CodeFieldEdittext"
       android:gravity="end|center_vertical"
       android:imeOptions="actionDone"
       android:inputType="text"
       android:text="" />

in styles.xml

<style name="CodeFieldEdittext">
        <item name="android:background">@null</item>
        <item name="android:textCursorDrawable">@drawable/code_blue_cursor</item>
        <item name="android:textColor">@color/colorFieldBg</item>
        <item name="android:textSize">16sp</item>
        <item name="android:maxLines">1</item>
        <item name="android:layout_width">match_parent</item>
        <item name="android:layout_height">40dp</item>
        <item name="android:textColorHint">@color/colorFieldHint</item>
    </style>

cursor drawable:

<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android"
    android:shape="rectangle">
    <size android:width="1dp" />
    <solid android:color="@color/colorFieldBg" />
</shape>
Related