如何在 NavigationView 底部绘制菜单?
Posted
技术标签:
【中文标题】如何在 NavigationView 底部绘制菜单?【英文标题】:How to draw menu at the bottom of NavigationView? 【发布时间】:2018-11-01 09:05:52 【问题描述】:是否可以让菜单出现在NavigationView
的底部,而不是顶部。
我想我可以在NavigationView
中放置任何布局,并绘制一些按钮。但如果可能的话,我想使用app:menu="@menu/activity_main_drawer"
。
【问题讨论】:
您可以在这里查看方法:developer.android.com/reference/android/support/design/widget/… @Ricardo,谢谢,但我需要的正是带有侧 NavigationView 的 DrawerLayout,而不是 BottomNavigationView。 【参考方案1】:您可以通过创建BottomSheetDialog
来实现它,它的行为类似于普通的 Android 对话框,但它会出现在底部。要使BottomSheetDialog
工作,最重要的部分是将app:layout_behavior="android.support.design.widget.BottomSheetBehavior"
添加到您的root view
。所以基本上创建你想要的布局,将该行添加到root view
,然后在代码中创建BottomSheetDialog
:
//This is Java code but you can easily convert it to C#
BottomSheetDialog bottomSheetDialog = new BottomSheetDialog(this);
View view = getLayoutInflater().inflate(R.layout.yourLayoutHere, null);
bottomSheetDialog.setContentView(view);
bottomSheetDialog.show();
【讨论】:
谢谢,但我需要的正是带有侧边 NavigationView 的 DrawerLayout,而不是 BottomSheetDialog。【参考方案2】:您可以使用以下代码创建自定义导航抽屉。
<?xml version="1.0" encoding="utf-8"?>
<android.support.v4.widget.DrawerLayout
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:id="@+id/drawer_layout"
android:layout_
android:layout_
tools:openDrawer="end">
<include layout="@layout/content_home" />
<android.support.design.widget.NavigationView
android:id="@+id/nav_view"
android:layout_
android:layout_
android:layout_gravity="start">
<include layout="@layout/layout_navigation" />
</android.support.design.widget.NavigationView>
</android.support.v4.widget.DrawerLayout>
<include layout="@layout/layout_navigation" />
是自定义布局
对于一个菜单,您可以在其中创建自定义布局并添加所需的文本视图。
然后您可以将重力底部赋予这些文本视图的父级。
如果这没有帮助,请告诉我。
【讨论】:
谢谢。但看起来是这样的,我的意思是“我想我可以将任何 Layout 放在 NavigationView 中,并绘制一些按钮。”或者,也许我没听懂你的意思,你能告诉我如何使用android menu吗? 你必须使用上面提供的方法。否则你不能放下你的菜单。在导航中创建自定义布局很容易。如果您有任何问题,请 DM 我。否则这里是小技巧。在 menu.xml 文件中的菜单之前创建空菜单,并且不提供任何文本或图标。这只是一个黑客。并且会导致不同设备中菜单位置的改变。以上是关于如何在 NavigationView 底部绘制菜单?的主要内容,如果未能解决你的问题,请参考以下文章
如何将页脚添加到 NavigationView - Android 支持设计库?
如何将 BottomNavigationView 与 NavigationView 一起对齐到 Activity 的底部?
如何使用菜单布局将自定义项添加到 NavigationView?