Fragment(13)——菜单栏Menu在Fragment中的运用

前言

在Android开发中,我们偶尔会使用到菜单Menu,当Activity结合Fragment使用的时候,似乎很少遇到Menu使用的情况,所以与之相关的知识我们也开始淡忘,那么今天就让我们来具体的了解下Fragment和Menu结合使用的相关知识吧。

今天涉及的内容有:

  1. Menu使用的需要的背景
  2. Menu的创建
  3. Menu在Activity中的使用
  4. Menu在Fragment中使用的情况
  5. 当Activity与Fragment同时加载时,Menu的使用
  6. 参考资料

先来波效果图
Activity加载Menu


3.gif

Fragment加载Menu


4.gif

Activity和Fragment分别响应其在Menu中的item
5.gif

一. Menu使用的需要的背景

Menu一般是结合ToolBar或者ActionBar使用的,下面我们看看当项目的主题配置是

 android:theme="@style/AppTheme"

时的界面


image.png

我们可以看到app中添加菜单栏后,Menu以三点的形式出现在导航栏上。
ok,现在让我们将app的主题改成

android:theme="@style/Theme.AppCompat.NoActionBar"

时(注意:app的主题是在Androidmainfast.xml中配置的),即去掉app标题栏,运行界面如下:


image.png

这时,我们可以看到界面上任何地方找不到菜单栏Menu的踪迹。
版本低的手机我们测过,但是基于现在大家使用的手机基本是不存在硬键的触屏手机,所以大体上Menu的使用时要结合TooBar或者ActionBar的。

二. Menu的创建

Menu的本质是一个xml布局文件。在app中引用Menu文件id的时候,一般是类似 R.menu.xxx 的。那么下面就来讲讲Menu文件的创建。
第一步,在你项目的res文件夹下创建一个menu文件夹,如下:


1.gif

然后在menu文件夹下创建一个menu文件,例如我创建一个look_menu.xml菜单文件如下:


2.gif

最后,下面贴出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 代码:

还有 57% 的精彩内容
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。
支付 ¥2.00 继续阅读

相关阅读更多精彩内容

友情链接更多精彩内容