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

layout-ldrtl forces paddingEnd and PaddingRight instead of PaddingLeft

我的应用程序支持 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 should be applied with PaddingRight。

但是我添加了 PaddingLeft 作为 End = Left int rtl。

我该如何解决这个问题?

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

Start 匹配 Left

它给你的 lint 警告告诉你尽量保持对称,所以 RTL 布局看起来和 LTR 一样

换句话说 - 如果您提供 End,则还提供 Start,如果您提供 Right(您是,以支持旧版本),则还提供 Left

...或者忽略它。绝对不是关键