Отображать значок справа от текста в режиме навигации - PullRequest
0 голосов
/ 03 января 2019

извините за мой плохой английский. У меня есть блок навигации в некоторых действиях, я хочу, чтобы значок каждого элемента представления навигации располагался справа от текста этого элемента, и весь элемент получал правильную гравитацию. Поскольку я использовал только персидский язык в своем приложении, я не могу использовать «supportRtl» в своем коде, если я его использую, это будет выглядеть странно, если я установлю язык устройства на любые языки RTL.

Я думаю, что, возможно, я смогу это исправить, установив собственный макет для вида навигации, но я ищу более простой способ. это мой код NavigationView XML:

<android.support.design.widget.NavigationView
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    app:menu="@menu/menu"
    android:layout_gravity="end" />

enter image description here

enter image description here

Отредактировано:
layoutDirection - хороший ответ, но я использовал
drawerLayout.openDrawer(GravityCompat.START);
для открытия навигационного ящика. теперь, если язык устройства будет языком RTL, это приведет к сбою приложения.

Ответы [ 2 ]

0 голосов
/ 03 января 2019

Просто добавьте android:layoutDirection="rtl" к вашему NavigationView, вот так:

<android.support.design.widget.NavigationView
     android:layout_width="match_parent"
     android:layout_height="match_parent"
     app:menu="@menu/menu"
     android:layoutDirection="rtl"
     android:layout_gravity="end" /> 
0 голосов
/ 03 января 2019

Сделайте supportRtl true и установите для направления макета значение RTL при просмотре навигации и LTR в других макетах

...