导航抽屉从右侧开始

时间:2015-08-22 10:36:56

标签: android navigation-drawer

如何让导航抽屉从右向左打开?

Main.xml

<android.support.design.widget.NavigationView
    android:id="@+id/navigation_view"
    android:layout_width="wrap_content"
    android:layout_height="match_parent"
    android:layout_gravity="end"
    app:headerLayout="@layout/drawer_header"
    app:menu="@menu/navigation"
    android:background="#FFE7FF"/>

drawer_header.xml

<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="150dp"
android:baselineAligned="false"
android:orientation="vertical">

navigation.xml

<menu xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto">
<group android:checkableBehavior="single">
    <item
        android:id="@+id/Home"
        android:checked="true"
        android:icon="@drawable/homelogo"
        android:title="Home" /></group></menu>

这就是我在主要活动中创建它的方式

navigationView = (NavigationView) findViewById(R.id.navigation_view);
    navigationView.setNavigationItemSelectedListener(new NavigationView.OnNavigationItemSelectedListener() {
        @Override
        public boolean onNavigationItemSelected(MenuItem menuItem) {
            switch (menuItem.getItemId()) {
              (..........)

我怎么做到的?我尝试过android:gravity但它不起作用。

3 个答案:

答案 0 :(得分:3)

main.xml android.support.design.widget.NavigationView中,android:layout_gravity="end"具有以下属性:android:layout_gravity="right"。您必须将其设置为正确,因此它将如下所示:end。 其余的由设计支持库完成。

请注意,Android Studio会显示警告,您应使用right代替xpath(),以确保从右向左语言的正确行为。您可以忽略此消息。

答案 1 :(得分:1)

尝试设置 android:layout_gravity =“end”而不是 android:layout_gravity =“start”

<android.support.design.widget.NavigationView
    android:id="@+id/nav_view"
    android:layout_width="wrap_content"
    android:layout_height="match_parent"
    android:layout_gravity="end"
    android:fitsSystemWindows="true"
    app:headerLayout="@layout/nav_header_main"
    app:menu="@menu/activity_main_drawer" />

答案 2 :(得分:0)

它确实改变了,只有两件事要做,

从android studio-&gt; file-&gt; new-&gt; activity - &gt; Navigation Draw ....添加到你的Android应用程序的新活动之后....

你必须改变     机器人:layout_gravity = “右” 在主要布局中     android.support.design.widget.NavigationView和     drawer.closeDrawer(GravityCompat.END); 在主活动中的OnNavigationItemSelected()函数中。