当前位置: 首页 > ds >正文

【安卓开发】【Android Studio】Menu(菜单栏)的使用及常见问题

一、菜单栏选项

在项目中添加顶部菜单栏的方法:
在res目录下新建menu文件夹,在该文件夹下新建用于菜单栏的xml文件:
在这里插入图片描述
举例说明菜单栏的写法,只添加一个选项元素:

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

二、在活动代码中添加菜单栏显示

@Override
public boolean onCreateOptionsMenu(Menu menu){getMenuInflater().inflate(R.menu.main, menu);return true;
}

常见问题1:应用顶部菜单不显示?

修改应用主题xml文件,在parent这里去掉DayNight后面的内容:

<resources xmlns:tools="http://schemas.android.com/tools"><!-- Base application theme. --><style name="Base.Theme.WeilaYinuo" parent="Theme.Material3.DayNight"><!-- Customize your light theme here. --><!-- <item name="colorPrimary">@color/my_light_primary</item> --></style><style name="Theme.WeilaYinuo" parent="Base.Theme.WeilaYinuo" />
</resources>

常见问题2:菜单跳转事件提示id必须是常量?

public boolean onOptionsItemSelected(@NonNull MenuItem item){switch (item.getItemId()){case 1:Intent intent = new Intent();intent.setClass(LoginActivity.this, AppInfoActivity.class);startActivity(intent);}return true;}

switch语句的case条件必须是整数(从上到下排列),不能是菜单xml文件中定义的id。

http://www.xdnf.cn/news/52.html

相关文章:

  • 【HDFS入门】HDFS与Hadoop生态的深度集成:与YARN、MapReduce和Hive的协同工作原理
  • 观察者设计模式详解:解耦通知机制的利器
  • 16-算法打卡-哈希表-两个数组的交集-leetcode(349)-第十六天
  • Flutter 常用命令
  • Qt GUI 库总结
  • gitee新的仓库,Vscode创建新的分支详细步骤
  • Python 实现日志备份守护进程
  • MCP理解笔记及deepseek使用MCP案例介绍
  • 每日算法-链表(23.合并k个升序链表、25.k个一组翻转链表)
  • Java 开发玩转 MCP:从 Claude 自动化到 Spring AI Alibaba 生态整合
  • pycharm无法识别到本地python的conda环境解决方法
  • 【远程管理绿联NAS】家庭云存储无公网IP解决方案:绿联NAS安装内网穿透
  • 数字孪生城市技术应用典型实践案例汇编(22个典型案例)(附下载)
  • 20.3 使用技巧3
  • Openfein实现远程调用的方法(实操)
  • 【音视频开发】第五章 FFmpeg基础
  • 最新Spring Security实战教程(十一)CSRF攻防实战 - 从原理到防护的最佳实践
  • 逻辑回归 (Logistic Regression)
  • 山东大学软件学院创新项目实训开发日志(18)之对话自动生成标题设为用户第一次对话发的文字
  • 第五章 SQLite数据库:3、SQLite 常用语法及使用案例
  • requestAnimationFrame 深度理解
  • AI在多Agent协同领域的核心概念、技术方法、应用场景及挑战 的详细解析
  • 【OSCP-vulnhub】GoldenEye
  • 【秣厉科技】LabVIEW工具包——OpenCV 教程(20):拾遗 - imgproc 基础操作(下)
  • Linux 防火墙( iptables )
  • 大数据调度组件
  • 10.(vue3.x+vite)div实现tooltip功能(css实现)
  • 华为仓颉编程语言深度解析
  • InfiniBand与RoCEv2负载均衡机制的技术梳理与优化实践
  • 服务(service)管理