Search code examples
androidnavigation-drawerrtl-language

Display the icon at the right of the text in navigation view


sorry for my bad English. I have a navigation drawer in some activities, I want the icon of each navigation view item to be placed to the right of that item's text and the whole item get right gravity. Because I only used Persian in my app, I can not use "supportsRtl" in my code, if I use, it will look weird when I set device language to any rtl languages.

I think probably I can fix this with setting custom layout for navigation view, but I'm looking for a simpler way. this is my NavigationView XML code:

<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

Edited :
layoutDirection is a good answer but i used
drawerLayout.openDrawer(GravityCompat.START);
for opening navigation drawer. now if device language be an rtl language this make app crash.


Solution

  • Make supportsRtl true and set the layout dirction to RTL on navigation View and LTR in other layouts