【android开发-02】android中OptionMenu用法介绍

2023-12-01 20:15

本文主要是介绍【android开发-02】android中OptionMenu用法介绍,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

Option Menu 是 Android 中一种常用的菜单方式,它通常用于在屏幕的顶部显示一个下拉菜单,提供一些常用的功能或操作选项。菜单里的菜单项默认不会显示出来,需要点击右上角三个点的菜单按钮。以下是一些使用 Option Menu 的基本步骤:

1,在你的 Activity 中,重写 onCreateOptionsMenu(Menu menu) 方法。在这个方法中,你可以创建和配置你的 Option Menu。

@Override  
public boolean onCreateOptionsMenu(Menu menu) {  // 创建一个 Option Menu  MenuInflater inflater = getMenuInflater();  inflater.inflate(R.menu.option_menu, menu);  return true;  
}

通过getMenuInflater方法能够得到MenuInflater 对象,再调用inflate方法就可以给当前activity创建菜单。inflate方法接收2个参数,第一个参数用于指定通过那个一个资源文件来创建菜单,第二个参数用于指定我们的菜单项将添加到哪一个Menu对象中,这里直接使用onCreateOptionsMenu方法中传入的menu参数。然后这个方法返回true,表示允许菜单显示出来,返回false,创建的菜单将无法显示。

2,在你的 Activity 中,重写 onOptionsItemSelected(MenuItem item) 方法。在这个方法中,你可以处理用户点击 Option Menu 中的菜单项的事件。

@Override  
public boolean onOptionsItemSelected(MenuItem item) {  switch (item.getItemId()) {  case R.id.menu_item_1:  // 处理菜单项 1 的点击事件  Toast.makeText(MainActivity.this, "处理菜单项 1 的点击事件", Toast.LENGTH_SHORT).show();break;  case R.id.menu_item_2:  // 处理菜单项 2 的点击事件  Toast.makeText(MainActivity.this, "处理菜单项 2 的点击事件", Toast.LENGTH_SHORT).show();break;  // ... 其他菜单项的处理  }  return true;  
}

通过调用item.getItemId()来判断我们点击的是哪一个菜单项,然后给每一个菜单项加入自己的处理逻辑。

这里我们活学活用,弹出我们前面学的Toast

3,在你的资源文件(res/menu)中,创建一个名为 option_menu.xml 的菜单布局文件。在这个文件中,你可以定义你的 Option Menu 中各个菜单项的显示文本、图标等属性。例如:

<menu xmlns:android="http://schemas.android.com/apk/res/android">  <item android:id="@+id/menu_item_1" android:title="菜单项 1" />  <item android:id="@+id/menu_item_2" android:title="菜单项 2" />  <!-- ... 其他菜单项 -->  
</menu>

这里创建了2个菜单项,其中item 标签就是用来创建具体的某一个菜单项,然后通过android:id给菜单项指定一个唯一标识符,android:title给菜单项指定一个名称。

4,在你的 Activity 中,使用 setMenuVisibility(true) 方法来显示 Option Menu。例如:

@Override  
protected void onResume() {  super.onResume();  // 设置 Option Menu 的可见性为 true,使其在屏幕上显示出来  invalidateOptionsMenu();  
}

这篇关于【android开发-02】android中OptionMenu用法介绍的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/442557

相关文章

MySQL中between and的基本用法、范围查询示例详解

《MySQL中betweenand的基本用法、范围查询示例详解》BETWEENAND操作符在MySQL中用于选择在两个值之间的数据,包括边界值,它支持数值和日期类型,示例展示了如何使用BETWEEN... 目录一、between and语法二、使用示例2.1、betwphpeen and数值查询2.2、be

Android使用java实现网络连通性检查详解

《Android使用java实现网络连通性检查详解》这篇文章主要为大家详细介绍了Android使用java实现网络连通性检查的相关知识,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起学习一下... 目录NetCheck.Java(可直接拷贝)使用示例(Activity/Fragment 内)权限要求

Python+wxPython开发一个文件属性比对工具

《Python+wxPython开发一个文件属性比对工具》在日常的文件管理工作中,我们经常会遇到同一个文件存在多个版本,或者需要验证备份文件与源文件是否一致,下面我们就来看看如何使用wxPython模... 目录引言项目背景与需求应用场景核心需求运行结果技术选型程序设计界面布局核心功能模块关键代码解析文件大

C++多线程开发环境配置方法

《C++多线程开发环境配置方法》文章详细介绍了如何在Windows上安装MinGW-w64和VSCode,并配置环境变量和编译任务,使用VSCode创建一个C++多线程测试项目,并通过配置tasks.... 目录下载安装 MinGW-w64下载安装VS code创建测试项目配置编译任务创建 tasks.js

2025最新版Android Studio安装及组件配置教程(SDK、JDK、Gradle)

《2025最新版AndroidStudio安装及组件配置教程(SDK、JDK、Gradle)》:本文主要介绍2025最新版AndroidStudio安装及组件配置(SDK、JDK、Gradle... 目录原生 android 简介Android Studio必备组件一、Android Studio安装二、A

Java序列化之serialVersionUID的用法解读

《Java序列化之serialVersionUID的用法解读》Java序列化之serialVersionUID:本文介绍了Java对象的序列化和反序列化过程,强调了serialVersionUID的作... 目录JavChina编程a序列化之serialVersionUID什么是序列化为什么要序列化serialV

python3中正则表达式处理函数用法总结

《python3中正则表达式处理函数用法总结》Python中的正则表达式是一个强大的文本处理工具,用于匹配、查找、替换等操作,在Python中正则表达式的操作主要通过内置的re模块来实现,这篇文章主要... 目录前言re.match函数re.search方法re.match 与 re.search的区别检索

Redis的安全机制详细介绍及配置方法

《Redis的安全机制详细介绍及配置方法》本文介绍Redis安全机制的配置方法,包括绑定IP地址、设置密码、保护模式、禁用危险命令、防火墙限制、TLS加密、客户端连接限制、最大内存使用和日志审计等,通... 目录1. 绑定 IP 地址2. 设置密码3. 保护模式4. 禁用危险命令5. 通过防火墙限制访问6.

MySQL 中的 JSON_CONTAIN用法示例详解

《MySQL中的JSON_CONTAIN用法示例详解》JSON_CONTAINS函数用于检查一个JSON文档中是否包含另一个JSON文档,这篇文章给大家介绍JSON_CONTAINS的用法、语法、... 目录深入了解 mysql 中的 jsON_CONTAINS1. JSON_CONTAINS 函数的概述2

JDK21对虚拟线程的几种用法实践指南

《JDK21对虚拟线程的几种用法实践指南》虚拟线程是Java中的一种轻量级线程,由JVM管理,特别适合于I/O密集型任务,:本文主要介绍JDK21对虚拟线程的几种用法,文中通过代码介绍的非常详细,... 目录一、参考官方文档二、什么是虚拟线程三、几种用法1、Thread.ofVirtual().start(