前言
简单记录一下标题栏中Menu的使用。
流水文,之前没记录,这次有空重新简单记录一下。
正文
在Android Studio中新创建一个Module。在res目录创建menu,然后创建一个menu.xml
/res/menu/menu.xml
menu.xml
<menu xmlns:android="http://schemas.android.com/apk/res/android" xmlns:app="http://schemas.android.com/apk/res-auto"> <item android:id="@+id/app_menu_1" android:title="@string/app_menu_1" android:icon="@mipmap/ic_launcher" app:showAsAction="always" /> <item android:id="@+id/app_menu_2" android:title="@string/app_menu_2" android:icon="@mipmap/ic_launcher" app:showAsAction="ifRoom" /> <item android:id="@+id/app_menu_3" android:title="@string/app_menu_3" android:icon="@mipmap/ic_launcher" app:showAsAction="never" /> </menu>
这里app:showAsAction需要介绍一下,有三个参数:
-
ifRoom 在屏幕空间足够时显示在Toolbar中,否则显示在菜单。
-
never 永远不显示在Toolbar中,而是一直显示在菜单中。
-
always 永远显示在Toolbar中,如果屏幕空间不够则不显示。
Toolbar中的action按钮只会显示图标,菜单中的action按钮只会显示文字。如果menu显示在Toolbar中,如果有图标,就只显示图标。
MainActivity.java
@Override public boolean onCreateOptionsMenu(Menu menu) { getMenuInflater().inflate(R.menu.menu, menu); return true; } @SuppressLint("NonConstantResourceId") @Override public boolean onOptionsItemSelected(@NonNull MenuItem item) { switch (item.getItemId()) { case R.id.app_menu_1: Toast.makeText(this, getText(R.string.app_menu_1), Toast.LENGTH_SHORT).show(); return true; case R.id.app_menu_2: Toast.makeText(this, getText(R.string.app_menu_2), Toast.LENGTH_SHORT).show(); return true; case R.id.app_menu_3: Toast.makeText(this, getText(R.string.app_menu_3), Toast.LENGTH_SHORT).show(); return true; } return super.onOptionsItemSelected(item); }
经过上面两部,菜单(menu)就差不多显示了。
参考文章
历史上的今天
暂无评论...
随机推荐
《MySQL基础教程》笔记3
前言本章主要学习对表的创建,插入,删除等操作命名。最近有空,看了《MySQL基础教程-西泽梦路》,简单的做一下笔记。记录于此,方便自己回忆。MySQL中对大小写没有区分,我这里习惯性用小些。正文我这以Window版的phpstudy软件验证。需要进入这个目录,才可以使用mysql命...
android13添加SELinux权限时踩的坑
前言在配置Android 13 SELinux权限时出现如下坑,记录一下,方便自己查阅。正文坑一:ERROR: end of file in comment编译时提示service.te有如下错误prebuilts/build-tools/linux-x86/bin/m4:device/...
Android磁盘之U盘挂载
前言之前介绍Vold的启动,没有涉及U盘的挂载,今天在之前的基础上进行插入U盘时流程的分析。Android P这里很多都是网上的,我就走走流程。正文VolumeManager.cpphandleBlockEvent()void VolumeManager::handleBlock...
龙应台:中国人,你为什么不生气?
在昨晚的电视新闻中,有人微笑着说:"你把检验不合格的厂商都揭露了,叫这些生意人怎么吃饭?"我觉得恶心,觉得愤怒。但我生气的对象不是这位人士,而是台湾1800万的懦弱自私的中国人。我所不能了解的是:中国人,你为什么不生气?包德莆的《苦海余生》英文原本中有一段他在台湾的经验:他看见一辆车子把小孩子...
Android MediaButton监听再次记录
前言再次记录一下Android 中MediaButton的注册,注销代码片段,以及遇到的问题,记录于此,方便自己查阅和回顾。正文一般会出现监听了,但是没收到。下面记录一下自己处理的方式。隐藏内容!付费阅读后才能查看!¥4 ¥5多个隐藏块只需支付一次付费阅读参考文章老文章了,但还是这里重...
Android分析Monkey日志
推荐使用我的个人导航大全:编程导航 、IT导航、极客导航、读书导航Log 在android中的地位非常重要,要是作为一个android程序员不能过分析log这关,算是android没有入门吧 。 下面我们就来说说如何处理log文件 。什么时候会有Log文件的产生 ?Log的产生大家都...