我正在开发支持多种语言(英语和阿拉伯语)的应用程序。
如果应用程序语言为阿拉伯语,则左侧显示EditText错误。我试过所有的把戏
gravity=start
textAlignment=viewStart
layoutDirection=anyRtl
等但不起作用。请帮帮我:(
这是我面临的问题的屏幕截图。
这是密码
<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"