方向问题在数字文本中英语到阿拉伯语

时间:2018-08-27 10:43:23

标签: android android-layout arabic-support

我正在开发支持阿拉伯语英语语言

的android应用程序

对于阿拉伯语,我按照以下步骤操作:

  
      
  • Android Studio>重构>尽可能添加RTL支持...
  •   
  • 第二我将这一行粘贴到manifest.xml中:android:supportsRtl="true"
  •   

  
      
  • 我已使用{strong> LeftRight
  • 更改了布局属性StartEnd   

哇,我对这种更改感到很高兴,因为当我选择阿拉伯语语言时,某些设计将用于 LTR ,但是当我测试我的应用程序时,我发现了一些问题。

例如,请参见下图:

enter image description here

当我设置RTL时 您可以看到生日(1994年5月15日)显示为LTR,所有文本都显示为RTL(DOB,性别,城市)。

这是一个有问题的生日,显示为“ LTR”,然后为什么,其他EditText不会显示在 RTL

在这里您可以看到我的代码:

<RelativeLayout
    android:layout_height="wrap_content"
    android:layout_marginEnd="@dimen/_15sdp"
    android:layout_marginStart="@dimen/_15sdp"
    android:layout_marginTop="@dimen/_12sdp"
    android:layout_width="match_parent">

    <TextView
        android:id="@+id/tv_age"
        android:layout_height="wrap_content"
        android:layout_marginStart="@dimen/_5sdp"
        android:layout_width="wrap_content"
        android:text="@string/dob"
        android:textColor="@color/color_gray"
        android:textSize="@dimen/normal_input_text_size" />

    <EditText
        android:background="@null"
        android:focusable="false"
        android:gravity="end"
        android:id="@+id/edit_dob"
        android:layout_alignParentEnd="true"
        android:layout_height="wrap_content"
        android:layout_marginStart="@dimen/_10sdp"
        android:layout_toEndOf="@+id/tv_age"
        android:layout_width="wrap_content"
        android:singleLine="true"
        android:text="15/05/1994"
        android:textSize="@dimen/normal_input_text_size" />
</RelativeLayout><include layout="@layout/half_view" />

<RelativeLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="@dimen/_12sdp"
android:layout_marginStart="@dimen/_15sdp"
android:layout_marginEnd="@dimen/_15sdp"
android:gravity="center_vertical">

<TextView
    android:id="@+id/tv_gender"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:text="@string/gender"
    android:layout_centerVertical="true"
    android:textSize="@dimen/normal_input_text_size"
    android:textColor="@color/color_gray"
    android:layout_marginStart="@dimen/_5sdp" />

<EditText
    android:id="@+id/edit_gender"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_toEndOf="@+id/tv_gender"
    android:layout_marginStart="@dimen/_10sdp"
    android:layout_alignParentEnd="true"
    android:gravity="end"
    android:text="Male"
    android:focusable="false"
    android:textSize="@dimen/normal_input_text_size"
    android:background="@null"
    android:singleLine="true" />
</RelativeLayout><include layout="@layout/half_view" />

<RelativeLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="@dimen/_12sdp"
android:layout_marginStart="@dimen/_15sdp"
android:layout_marginEnd="@dimen/_15sdp"
android:gravity="center_vertical">

<TextView
    android:id="@+id/tv_city"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:text="@string/city"
    android:layout_centerVertical="true"
    android:textSize="@dimen/normal_input_text_size"
    android:textColor="@color/color_gray"
    android:layout_marginStart="@dimen/_5sdp" />

<EditText
    android:id="@+id/edit_city"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_toEndOf="@+id/tv_city"
    android:layout_marginStart="@dimen/_10sdp"
    android:layout_alignParentEnd="true"
    android:gravity="end"
    android:focusable="false"
    android:text="Patan"
    android:textSize="@dimen/normal_input_text_size"
    android:background="@null"
    android:singleLine="true" />
</RelativeLayout>

  • 我已经阅读了official页,但对我没有帮助。

1 个答案:

答案 0 :(得分:1)

尝试一下。

在RTL中,当您将文本设置为数字时,就会发生这种情况。

从API 19添加的

LayoutDirection属性,请检查Reference

将以下属性添加到Edittext。

android:layoutDirection="ltr"

RTL ScreenShot

RTL ScreenShot

LTR屏幕截图

LTR Screenshot

有关更多信息,请检查此reference For RTL support