Android 导航抽屉从右侧开始

Android 导航抽屉从右侧开始,android,navigation-drawer,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="@layo

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

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"/>

我怎样才能做到?我试过android:gravity,但它不起作用。

在你的
main.xml
中有
android.support.design.widget.NavigationView
,它有以下属性:
android:layou gravity=“end”
。您必须将其设置为右侧,因此它将如下所示:
android:layout\u gravity=“right”
。 其余部分由设计支持库完成


请注意,Android Studio将显示一条警告,您应该使用
end
而不是
right
,以确保使用从右向左的语言进行正确的行为。您可以忽略此消息。

main.xml
中有
android.support.design.widget.NavigationView
,它具有以下属性:
android:layout\u gravity=“end”
。您必须将其设置为右侧,因此它将如下所示:
android:layout\u gravity=“right”
。 其余部分由设计支持库完成


请注意,Android Studio将显示一条警告,您应该使用
end
而不是
right
,以确保使用从右向左的语言进行正确的行为。您可以忽略此消息。

它确实会改变,只需做两件事

从android studio->文件->新建->活动->导航绘图向android应用程序添加新活动后

你必须改变 android:layout\u gravity=“右” 在主布局中 android.support.design.widget.NavigationView和 抽屉。闭式抽屉(重力compat.END);
在主活动中的OnNavigationItemSelected()函数中。

它确实发生了变化,只需要做两件事

从android studio->文件->新建->活动->导航绘图向android应用程序添加新活动后

你必须改变 android:layout\u gravity=“右” 在主布局中 android.support.design.widget.NavigationView和 抽屉。闭式抽屉(重力compat.END); 在主活动的OnNavigationItemSelected()函数中。

尝试设置android:layout\u gravity=“end”而不是android:layout\u gravity=“start”


尝试设置android:layout\u gravity=“end”而不是android:layout\u gravity=“start”



btnHome.setOnClickListener(新的OnClickListener(){@Override public void onClick(视图v){//TODO自动生成的方法存根hideKeyboard();handleDrawerLayout();});这是重复的问题请参考:我已经尝试过了,但我正在使用导航视图drawerLayout打开抽屉。openDrawer(navigationView),所以我不能在这行btnhome.setOnClickListener(新的OnClickListener(){@Override public void onClick(视图v){//TODO自动生成的方法存根hideKeyboard();handleDrawerLayout();});这是重复的问题请参考:我已经尝试过了,但我正在使用导航视图drawerLayout打开抽屉。openDrawer(navigationView),所以我不能在这条线的右边使用重力,我试过了,但它没有改变任何东西,顺便说一句,我决定把它改到左边。非常感谢。只需创建一个完全空白的应用程序,其中包含一个导航抽屉活动(只是Android Studio的默认设置),然后按照您的简单步骤将重力更改为右侧。您将以“重力左”异常的“无抽屉视图”结束。我尝试了,但没有改变任何内容,顺便说一句,我决定将其更改为左侧。非常感谢。只需创建一个完全空白的应用程序,其中包含一个导航抽屉活动(只是Android Studio的默认设置),然后按照您的简单步骤将重力更改为右侧。您将以“重力左”异常的“无抽屉视图”结束。它对我不起作用,将“结束”添加到布局不起作用,将“结束”添加到布局不起作用。你没有测试你的答案@omkar DusaneIt不起作用。你没有测试你的答案@乌姆卡尔·杜萨内
<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">
<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.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" />