如果实现 RTL,android Material Edittext 错误出现在左侧

标签 android android-layout android-edittext material-design

我正在开发支持多语言(英语和阿拉伯语)的应用程序。

如果应用语言为阿拉伯语,EditText 错误会出现在左侧。我已经尝试了所有的技巧,比如

gravity=start 
textAlignment=viewStart
layoutDirection=anyRtl 

等但不工作。请帮助我:(

这是我面临的问题的屏幕截图。

enter image description here

这是代码

<appname.util.customview.MaterialEditText
        android:id="@+id/met_email_phone"
        style="@style/material_edit_text"
        android:layout_marginEnd="@dimen/margin_large_30"
        android:layout_marginStart="@dimen/margin_large_30"
        android:layout_marginTop="@dimen/margin_xlarge"
        android:backgroundTint="@color/colorAccent"
        android:hint="@string/email_phone"
        android:inputType="textEmailAddress"
        app:met_primaryColor="@color/met_underline" />

edittext 的风格是

<style name="material_edit_text">
    <item name="android:gravity">start</item>
    <item name="android:layout_height">wrap_content</item>
    <item name="android:layout_width">match_parent</item>
    <item name="android:maxLines">1</item>
    <item name="android:maxLength">30</item>
    <item name="android:textDirection">anyRtl</item>
    <item name="android:textAlignment">viewStart</item>
    <item name="android:layout_marginStart">@dimen/margin_large</item>
    <item name="android:layout_marginEnd">@dimen/margin_large</item>
    <item name="android:textCursorDrawable">@color/tc_header</item>
    <item name="android:layout_marginTop">@dimen/margin_small</item>
</style>

最佳答案

将这两个属性设置为locale

 android:layoutDirection="locale"
 android:textDirection="locale"

关于如果实现 RTL,android Material Edittext 错误出现在左侧,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46908318/

相关文章:

android - 保存图片,webview,android

Android Studio 显示 Firebase 的空白文档

android - 键盘打开时如何使android edittext字段可见?

android - 如何在 Activity 中添加可变数量的 TextView 和 EditView

Java + NDK加载原生库

java - SharedPreferences Android 中奇怪的无法解释的行为

android - 三角形 - 它是如何工作的?

Android:更改布局时多次使用 setContentView 不好吗?

java - 如何在 Android SDK 中创建堆栈面板菜单?

android - EditText 的子类的行为不像 EditText