首页 > 其他分享 >Activity中使用Menu

Activity中使用Menu

时间:2023-05-21 16:34:59浏览次数:42  
标签:Toast 菜单 Menu Activity menu 使用 菜单项

手机毕竟和电脑不同,它的屏幕空间是十分有限的,如果你的Activity中有大量的菜单需要显示,可以使用Menu来实现。

首先在res资源目录下新建一个menu文件夹,并在该文件夹下新加一个文件main.xml

 

在main.xml中定义菜单选项资源

<?xml version="1.0" encoding="utf-8"?>
<menu xmlns:android="http://schemas.android.com/apk/res/android">
    <item android:id="@+id/add" android:title="add"/>
    <item android:id="@+id/remove" android:title="remove"/>
</menu>

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

接着在对应的Activity中重写onCreateOptionsMenu方法来实现创建菜单

override fun onCreateOptionsMenu(menu: Menu?): Boolean {
        Log.d("MainActivity", "onCreateOptionsMenu")
        menuInflater.inflate(R.menu.main, menu)
        return true  //return false则表示不显示菜单栏
}

其中inflate方法有两个参数,第一个参数用于指定我们通过哪一个资源文件来创建菜单,第二个参数用于指定菜单项将添加到哪一个Menu对象中。最后方法返回true表示允许创建的菜单显示出来,如果返回false,创建出来的菜单将无法显示。

接下来我们在Activity中重写菜单的响应事件

override fun onOptionsItemSelected(item: MenuItem): Boolean {
     when (item.itemId) {
            R.id.add -> Toast.makeText(this, "you click add", Toast.LENGTH_LONG).show()
            R.id.remove -> Toast.makeText(this, "you click remove", Toast.LENGTH_LONG).show()
        }
        return false
}

这样基本的Menu功能就已经实现了。

运行程序,你会发现在标题栏的右侧多了一个三点的符号,这个就是菜单按钮了。

 

 点击对应的菜单,可以触发对应的弹框动作

 

 至此,Action中的Menu的基本功能就讲解结束了。

标签:Toast,菜单,Menu,Activity,menu,使用,菜单项
From: https://www.cnblogs.com/shibin90/p/17418726.html

相关文章

  • 使用 Async Rust 构建简单的 P2P 节点
    使用AsyncRust构建简单的P2P节点P2P简介P2P:peer-to-peerP2P是一种网络技术,可以在不同的计算机之间共享各种计算资源,如CPU、网络带宽和存储。P2P是当今用户在线共享文件(如音乐、图像和其他数字媒体)的一种非常常用的方法。Bittorrent和Gnutella是流行的文件共享......
  • 18个不常见的C#关键字,您使用过几个?
    1、__arglist 让我们先从__arglist开始。__arglist是用来给方法传送参数。通常我们是通过函数头部指定的参数列表给方法传递参数的。如果我们想要给方法传递一组新的参数,我们需要重载方法。如果我们想要传递的参数数量不确定,我们需要使用param数组。我们为什么要使用__arglist,因......
  • 友盟第三方登录和分享的使用
    获取友盟Appkey如果你之前已经在友盟注册了应用,并获取到了Appkey,可以继续使用它.如果你尚未在友盟注册开发者账号,需要先注册,注册之后登录你的账号,点击添加新应用,填写完应用基本信息后,将进入"下载SDK并添加代码"页面,此页面即可得到Appkey。下载并安装SDK下载[SDK最新版](http://dev.......
  • Python使用pip安装第三方包
    ​ 参考文章:如何安装第三方的Python包?-知乎​pipinstall-i网址包名称例如:pipinstall-ihttps://pypi.tuna.tsinghua.edu.cn/simple/numpy常用的网址有:清华:https://pypi.tuna.tsinghua.edu.cn/simple/阿里云:http://mirrors.aliyun.com/pypi/simple/......
  • Docker 启动 [email protected] 并使用 Navicat 客户端连接
    docker运行mysql镜像dockerrun--namesome-mysql-p3306:3306-eMYSQL_ROOT_PASSWORD=my-secret-pw-dmysql:5.7其中some-mysql是您要分配给容器的名称my-secret-pw是要为MySQLroot用户设置的密码-p将容器的3306端口发布到主机的端口3306-e设置容器的环境......
  • Java面向对象中“匿名对象”的使用
    1.0匿名对象的基本知识匿名对象顾名思义,匿名对象指的就是没有名字的对象,在使用中理解为实例化一个类对象,但是并不把它赋给一个对应的类变量,而是直接使用。在理解匿名对象前,我们先创建一个类便于后面的使用。匿名对象具有以下特征:语法上:只创建对象,但不用变量来接收,例如:假设现......
  • requests: 基本使用、get、post、代理、cookie案例、超级鹰打码api
    1、requests_1_基本使用""".-''-..--._..._.'.-.)|__|......
  • 中文环境下使用 huggingface 模型替换 OpenAI的Embedding 接口
    OpenAI的文本嵌入衡量文本字符串的相关性。嵌入通常用于:搜索(其中结果按与查询字符串的相关性排名)聚类(其中文本字符串按相似性分组)推荐(推荐具有相关文本字符串的项目)异常检测(识别出相关性不大的异常值)多样性测量(分析相似性分布)分类(其中文本字符串按其最相似的标签分类)嵌入是浮......
  • 使用API数据接口获取商品详情数据的流程
    API数据接口是开发者获取第三方平台数据的一种方式,使用API接口可以快速地获取海量的商品详情数据,相比其他方式更加高效、实时。下面将介绍使用API数据接口获取商品详情数据的主要流程和步骤:申请API密钥服装打折网站在使用基于淘宝商品数据的API时,需要首先在淘宝开放平台申......
  • 一步一步使用Ext JS MVC与Asp.Net MVC 3开发简单的CMS后台管理系统之用户管理(1)
    应用程序的基本框架已经搭建好了,现在要做的是完成一个个的功能模块。先从简单做起,完成用户管理模块,该模块主要功能是使用一个Grid显示用户信息,并使用RowEditing进行用户的编辑、添加操作。Grid的分页则在Grid顶部使用分页工具条实现,在工具条上还要添加3个按钮用来添加用户、删除用......