Итак, у меня есть LinearLayout, где я использую разделители, чтобы добавить некоторый интервал между элементами:
<LinearLayout
android:layout_width = "match_parent"
android:layout_height = "wrap_content"
android:orientation = "horizontal"
android:showDividers = "middle"
android:divider = "@drawable/spacer_standard">
<TextView
android:id = "@+id/product_view_price"
android:fontFamily = "@font/primary_font"
android:layout_width = "wrap_content"
android:layout_height = "wrap_content"
android:maxLines = "1"/>
<TextView
android:id = "@+id/product_view_sale_discount"
android:fontFamily = "@font/primary_font"
android:layout_width = "wrap_content"
android:layout_height = "wrap_content"
android:maxLines = "1"
android:visibility = "gone"
tools:visibility = "visible"/>
</LinearLayout>
Это работает, как ожидалось, когда конфигурация слева направо, но в локали справа налево разделитель отображается, но игнорируется (он отображается за текстовыми представлениями, а интервал не применяется).
На всякий случай вот разделитель выдвижной
<shape
xmlns:android = "http://schemas.android.com/apk/res/android"
android:shape = "rectangle">
<size
android:width = "@dimen/standard_single_margin"
android:height = "@dimen/standard_single_margin" />
<solid android:color = "@android:color/transparent" />
Я знаю, что могу сделать обходной путь, просто добавив разделители вручную в качестве представлений, но я пытался избежать этого, поскольку я также использую эти типы разделителей в других более крупных макетах.
Google не заботится о RTL. Я обошел это с помощью тегов <Space>