在RTL中android:gravity ="start"将文本左对齐

Bia*_*aly 7 android android-linearlayout android-gravity

在使用RTL语言(阿拉伯语)的设备上测试我的布局时,我发现带有重力的TextView:start始终将文本对齐而不是右对齐!我试过android:textAlignment ="viewStart"并且它正常工作但由于API reqs我不依赖它.

我的代码(我的意思是代码中的第一个textview):

<LinearLayout
android:orientation="horizontal"
android:gravity="center_vertical"
>

<TextView
    android:text="Size"
    android:gravity="start"
    android:layout_weight="1"
    android:layout_width="0dp"
    android:layout_height="wrap_content"/>

<LinearLayout android:gravity="center" android:orientation="vertical" android:layout_width="wrap_content" android:layout_height="wrap_content">
    <TextView
        android:text="000"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"/>

    <TextView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="subtext"/>
</LinearLayout></LinearLayout>
Run Code Online (Sandbox Code Playgroud)

N J*_*N J 3

要获得完全支持或 RTL,您必须以 api 17 为目标

\n
\n

如果您将应用定位到 Android 4.2(应用的\ntargetSdkVersion 或 minSdkVersion 为 17 或更高),则应\n使用 \xe2\x80\x9cstart\xe2\x80\x9d 和 \xe2\x80\x9cend\ xe2\x80\x9d 而不是 \xe2\x80\x9cleft\xe2\x80\x9d 和 \xe2\x80\x9cright\xe2\x80\x9d。例如

\n
\n

Android 4.2 中的原生 RTL 支持

\n