0

我已navigation drawer在我的应用程序中添加,它打开如下

在此处输入图像描述

但我想将抽屉打开到全宽,如下所示。

在此处输入图像描述

我检查了一些关于 SO 的答案,并将边距设置为-64dp但没有帮助,是否可以将导航抽屉的宽度设置为全屏。

4

5 回答 5

2

只需在导航视图中添加此代码即可

android:layout_gravity="start"
android:fitsSystemWindows="true"
android:layout_marginEnd="-65dp"
android:layout_marginRight="-65dp"
于 2019-11-23T10:19:11.763 回答
1

你可以试试这个

<android.support.design.widget.NavigationView
        android:id="@+id/navigationView"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:layout_gravity="start"
        android:fitsSystemWindows="true"
        android:layout_marginEnd="-65dp"
        android:layout_marginRight="-65dp"
        app:itemTextAppearance="@style/TextAppearance.AppCompat.Small"
        app:headerLayout="@layout/drawer_header">
于 2019-11-23T10:18:33.000 回答
1

尝试这个!!!完美工作

<android.support.design.widget.NavigationView
    android:id="@+id/nav_view"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:layout_gravity="start"
    android:fitsSystemWindows="true"
    android:layout_marginEnd="-65dp"
    android:layout_marginRight="-65dp"
    app:itemTextColor="@color/lightgray"
    app:itemIconTint="@color/colorAccent"
    app:headerLayout="@layout/nav_header_main"
    app:menu="@menu/activity_main_drawer" />
于 2019-11-23T11:15:08.293 回答
0

试试这个代码:

<android.support.design.widget.NavigationView
        android:id="@+id/nav_view"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:layout_gravity="start"
        android:layout_marginEnd="-65dp"
        android:layout_marginRight="-65dp"
        android:fitsSystemWindows="true">
      />
于 2020-01-31T07:25:06.813 回答
0

在android中设置全宽导航抽屉

只需调用此方法并将您的抽屉布局作为参数传递。

public static void fixDrawerMargin(DrawerLayout drawerLayout) {
        try {
            Field f = DrawerLayout.class.getDeclaredField("mMinDrawerMargin");
            f.setAccessible(true);
            f.set(drawerLayout, 0);

            drawerLayout.requestLayout();
        } catch (Exception e) {
            e.printStackTrace();
        }
    }
于 2020-01-24T07:21:33.657 回答