机器人:比重="开始"在RTL中将文本左对齐

时间:2016-05-03 05:44:37

标签: android android-linearlayout android-gravity

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

我的代码(我的意思是代码中的第一个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>

2 个答案:

答案 0 :(得分:3)

对于完全支持或RTL,您必须以api 17为目标

  

如果您将应用定位到Android 4.2(该应用程序   targetSdkVersion或minSdkVersion是17或更高),那么你应该   使用“开始”和“结束”而不是“左”和“右”。例如

Native RTL support in Android 4.2

答案 1 :(得分:1)

我目前的解决方法是,如果任何人对未来感兴趣,那么在两个元素之间添加一个空视图,并使它填充它们之间的空白区域(权重= 1),以便它们正确对齐。我仍然不明白引力的异常行为=&#34;开始&#34;