前言
在Android开发中,我们偶尔会使用到菜单Menu,当Activity结合Fragment使用的时候,似乎很少遇到Menu使用的情况,所以与之相关的知识我们也开始淡忘,那么今天就让我们来具体的了解下Fragment和Menu结合使用的相关知识吧。
今天涉及的内容有:
- Menu使用的需要的背景
- Menu的创建
- Menu在Activity中的使用
- Menu在Fragment中使用的情况
- 当Activity与Fragment同时加载时,Menu的使用
- 参考资料
先来波效果图
Activity加载Menu
Fragment加载Menu
Activity和Fragment分别响应其在Menu中的item
一. Menu使用的需要的背景
Menu一般是结合ToolBar或者ActionBar使用的,下面我们看看当项目的主题配置是
android:theme="@style/AppTheme"
时的界面
我们可以看到app中添加菜单栏后,Menu以三点的形式出现在导航栏上。
ok,现在让我们将app的主题改成
android:theme="@style/Theme.AppCompat.NoActionBar"
时(注意:app的主题是在Androidmainfast.xml中配置的),即去掉app标题栏,运行界面如下:
这时,我们可以看到界面上任何地方找不到菜单栏Menu的踪迹。
版本低的手机我们测过,但是基于现在大家使用的手机基本是不存在硬键的触屏手机,所以大体上Menu的使用时要结合TooBar或者ActionBar的。
二. Menu的创建
Menu的本质是一个xml布局文件。在app中引用Menu文件id的时候,一般是类似 R.menu.xxx 的。那么下面就来讲讲Menu文件的创建。
第一步,在你项目的res文件夹下创建一个menu文件夹,如下:
然后在menu文件夹下创建一个menu文件,例如我创建一个look_menu.xml菜单文件如下:
最后,下面贴出look_menu.xml简单代码如下:
<?xml version="1.0" encoding="utf-8"?>
<menu xmlns:android="http://schemas.android.com/apk/res/android">
<item
android:id="@+id/menu_good"
android:orderInCategory="1"
android:title="大神"/>
</menu>
在app中要引用这个菜单文件的话,可以这样引用:R.menu.look_menu。
ok,这样的话,Menu的创建就成功了。
三. Menu在Activity中的使用
先贴出Activity对应的菜单文件 menu_main.xml 代码: