在NavigationView中从右到左的菜单项Android

hos*_*han 3 android menu right-to-left navigation-drawer

即时通讯的android.我设计了一个这样的导航抽屉: 在此输入图像描述

如您所见,菜单中的所有项目都在右侧,"SubHeader"除外.

如何将"SubHeader"项目移动到此菜单的右侧?我使用所有属性,如重力,布局重力,layoutDirection到SubHeaderItem,但它不起作用.

我的代码是

 <android.support.design.widget.NavigationView
        android:layout_width="wrap_content"
        android:layout_height="match_parent"
        android:id="@+id/navigation_view"
        android:layout_gravity="end"
        android:fitsSystemWindows="true"
        android:layoutDirection="rtl"
        app:headerLayout="@layout/navigation_header"
        app:menu="@menu/navigation_menu"
        />
Run Code Online (Sandbox Code Playgroud)

我的菜单代码是:

<menu xmlns:android="http://schemas.android.com/apk/res/android"    >
    <group android:checkableBehavior="single">
        <item
            android:title="inbox"
            android:id="@+id/inbox_id"
            android:icon="@drawable/inbox" />
    </group>
    <item android:title="SubHeader">

        <menu>
            <item
                android:title="all main"
                android:id="@+id/all_mail"
                android:icon="@drawable/allmail" />
        </menu>
    </item>

</menu>
Run Code Online (Sandbox Code Playgroud)

Ngu*_*iếu 10

尝试将这些属性添加到布局文件中的NavigationView.

android:layoutDirection="rtl"
android:textDirection="rtl"
Run Code Online (Sandbox Code Playgroud)

如果没别的办法.您应该使用自定义布局

例:

<android.support.design.widget.NavigationView
  android:layoutDirection="rtl"
  android:id="@+id/navigation_view"
  android:layout_width="wrap_content"
  android:layout_height="match_parent"
  android:layout_gravity="right"
  android:fitsSystemWindows="true"
  app:headerLayout="@layout/nav_header_main"
  app:menu="@menu/activity_main_drawer>
 <LinearLayout>
 // code xml here
 </LinearLayout>
 <android.support.design.widget.NavigationView/>
Run Code Online (Sandbox Code Playgroud)