代码之家  ›  专栏  ›  技术社区  ›  Elad Benda

布局ldrtl强制paddingEnd和PaddingRight而不是PaddingLeft

  •  0
  • Elad Benda  · 技术社区  · 6 年前

    我有这个布局 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"/>
    

    但我得到一个警告,paddingand应该与PaddingRight一起使用。

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

    1 回复  |  直到 6 年前
        1
  •  0
  •   Nick Cardoso    6 年前

    End 与相同 Right (默认从左到右布局)。

    Start 与匹配 Left

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

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