【发布时间】:2019-08-14 21:57:32
【问题描述】:
我有一个活动,我必须在其中进行 NavigationView。一个在左侧,另一个在右侧。两个 NavigationViews 都出现在活动中,并且在从左到右和从右到左相应地滑动时工作正常。我在 AppBarLayout 中有两个按钮。我需要用这些按钮控制这些 NavigationView。 (例如,当我单击 button1 时应该出现 NavigationView1,当单击 button2 时应该出现 NavigationView2)
这是我的布局文件
<?xml version="1.0" encoding="utf-8"?>
<android.support.v4.widget.DrawerLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:id="@+id/drawer_layout"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:fitsSystemWindows="true"
tools:context=".Activities.MainActivity">
<LinearLayout
android:id="@+id/ll_main_activity"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical">
<android.support.design.widget.AppBarLayout
android:id="@+id/appbar"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:paddingTop="@dimen/appbar_padding_top"
android:theme="@style/AppBarOverlay">
<android.support.v7.widget.Toolbar
android:id="@+id/toolbar"
android:layout_width="match_parent"
android:layout_height="?attr/actionBarSize"
android:background="@color/br_blue_2"
android:elevation="4dp"
app:popupTheme="@style/ThemeOverlay.AppCompat.Light" />
</android.support.design.widget.AppBarLayout>
<FrameLayout
android:id="@+id/fragment_container"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_marginHorizontal="@dimen/margin_normal"
android:background="@color/white" />
</LinearLayout>
<android.support.design.widget.NavigationView
android:id="@+id/notification_menu"
android:layout_width="wrap_content"
android:layout_marginTop="@dimen/margin_normal"
android:layout_height="match_parent"
android:layout_gravity="end"
app:menu="@menu/drawer_notification" />
</android.support.design.widget.NavigationView>
<android.support.design.widget.NavigationView
android:id="@+id/navigation_menu"
android:layout_width="wrap_content"
android:layout_height="match_parent"
android:layout_gravity="start"
app:headerLayout="@layout/nav_header"
app:menu="@menu/drawer_menu" />
</android.support.v4.widget.DrawerLayout>
【问题讨论】:
-
我不确定您要问的是哪一部分。您是在问如何将这些按钮放入您的布局中?或者如何在它们上设置
OnClickListeners?或者如何打开/关闭这些听众的抽屉? -
@MikeM。我在布局中有按钮。我需要用按钮打开/关闭这些抽屉
-
DrawerLayout具有openDrawer()和closeDrawer()方法。这两个都有两个重载,因此您可以直接传递NavigationViews 或重力值,如GravityCompat.START。