layout-ldrtl强制paddingEnd和PaddingRight而不是PaddingLeft

时间:2018-10-06 18:53:43

标签: android layout padding right-to-left

我的应用程序支持Android API <17

我在layout-ldrtl下有这样的布局

<merge xmlns:android="http://schemas.android.com/apk/res/android">
  <TextView
      android:layoutDirection="rtl"
      android:id="@+id/account_name"
      android:layout_gravity="center_vertical|right|start"
      android:paddingEnd="@dimen/account_menu_chevron_size_plus_margin"
      android:paddingLeft="@dimen/account_menu_chevron_size_plus_margin"
      android:ellipsize="end"
      android:gravity="center_vertical"
      android:lines="1"/>
</merge>

和此布局:

  <TextView
      android:id="@+id/account_name"
      android:layout_gravity="center_vertical|left|start"
      android:paddingEnd="@dimen/account_menu_chevron_size_plus_margin"
      android:paddingRight="@dimen/account_menu_chevron_size_plus_margin"
      android:ellipsize="end"
      android:gravity="center_vertical"
      android:lines="1"/>

但是我收到警告paddingEnd应该与PaddingRight一起提供。

但是我已经将PaddingLeft添加为End = Left int rtl。

我该如何解决?

1 个答案:

答案 0 :(得分:0)

EndRight相同(默认为从左到右的布局)。

StartLeft

匹配

它发出的棉绒警告告诉您尝试使事物保持对称,因此RTL布局看起来与LTR相同

换句话说-如果您要提供End,请同时提供Start,并且如果您要提供Right(支持旧版本),则还应提供Left

...或忽略它。绝对不重要