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

Android菜单(上下文菜单)(选项菜单)

菜单资源文件通常放置在res\menu目录下,在创建项目时,默认不自动创建menu目录,所以需要手动创建。Android Resource Directory->value menu

菜单资源根元素通常是<menu></menu>标记,子元素为<item></item>和<group></group>

<item></item>标记常用属性:

android:id 用于为菜单设置ID
android:title 用于为菜单项设置标题
android:alphabeticShortcut 用于为菜单项指定字符快捷键
android:numericShortcut  用于为菜单项指定数字快捷键
android:icon  用于为菜单项指定图标
android:enable  用于指定该菜单项是否可用
android:checkable  用于指定该菜单项是否可选
android:checked  用于指定该菜单项是否选中
android:visible  用于指定该菜单项是否可见

<group></group>标记常用属性:

android:id 用于为菜单组设置ID
android:heckableBehavior 用于为指定菜单组选择行为,值可以为 none(不可选) all(多选) single(单选)
android:menuCategory  用于为指定菜单组进行分类,指定优先级,值可以为container、system、secondary和alternative
android:enable  用于为指定菜单组中全部菜单项是否可用
android:visible  用于为指定菜单组中全部菜单项是否可见

<item>标记中还可以包含<menu>标记,用于显示子菜单

<group>标记中可有多个<item>标记,用于组成菜单组

<?xml version="1.0" encoding="utf-8"?>
<menu xmlns:android="http://schemas.android.com/apk/res/android"><item android:title="item1"></item><item android:title="item2"><menu><item android:title="item2-1"/><item android:title="item2-2"/></menu></item><group><item android:title="item3"/><item android:title="item4"/></group>
</menu>

1.上下文菜单  长按注册的控件显示菜单

public class MainActivity extends AppCompatActivity {protected void onCreate(Bundle savedInstanceState) {... ...TextView textView=findViewById(R.id.textView);//注册上下文菜单  长按注册的控件显示菜单registerForContextMenu(textView);}public void onCreateContextMenu(ContextMenu menu, View v, ContextMenu.ContextMenuInfo menuInfo) {//用于创建菜单(上下文菜单)MenuInflater menuInflater=new MenuInflater(MainActivity.this);menuInflater.inflate(R.menu.menu1,menu);}public boolean onContextItemSelected(@NonNull MenuItem item) {//用于选择菜单项(上下文菜单)int groupId=item.getGroupId();int itemId=item.getItemId();if(groupId==R.id.~){~}if(itemId==R.id.~){~}return super.onContextItemSelected(item);}
}

2.选项菜单(隐藏标题栏将无法使用)  点击标题最右侧三个点显示菜单

public class MainActivity extends AppCompatActivity {protected void onCreate(Bundle savedInstanceState) {... ...}public boolean onCreateOptionsMenu(Menu menu) {//用于创建菜单(选项菜单)MenuInflater menuInflater=new MenuInflater(MainActivity.this);menuInflater.inflate(R.menu.menu1,menu);return super.onCreateOptionsMenu(menu);}public boolean onOptionsItemSelected(@NonNull MenuItem item) {//用于选择菜单项(选项菜单)int groupId=item.getGroupId();int itemId=item.getItemId();if(groupId==R.id.~){~}if(itemId==R.id.~){~}return super.onOptionsItemSelected(item);}
}

相关文章:

Android菜单(上下文菜单)(选项菜单)

菜单资源文件通常放置在res\menu目录下&#xff0c;在创建项目时&#xff0c;默认不自动创建menu目录&#xff0c;所以需要手动创建。Android Resource Directory->value menu 菜单资源根元素通常是<menu></menu>标记&#xff0c;子元素为<item></ite…...

l8-d11 TCP连接管理与UDP协议

一、三次握手 TCP 建立连接的过程叫做握手。 采用三报文握手&#xff1a;在客户和服务器之间交换三个 TCP 报文段&#xff0c;以防止已失效的连接请求报文段突然又传送到了&#xff0c;因而产生 TCP 连接建立错误。 二、四次挥手 TCP 连接释放过程比较复杂。 数据传输结束后…...

Python+Requests+Pytest+Excel+Allure 接口自动化测试项目实战【框架之间的对比】

--------UnitTest框架和PyTest框架的简单认识对比与项目实战-------- 定义&#xff1a; Unittest是Python标准库中自带的单元测试框架&#xff0c;Unittest有时候也被称为PyUnit&#xff0c;就像JUnit是Java语言的标准单元测试框架一样&#xff0c;Unittest则是Python语言的标…...

商业航天进展迅速:中国航天科工三院成功完成电磁发射试验

商业航天进展迅速&#xff01;中国航天科工三院成功完成了商业航天电磁发射高温超导电动悬浮试验&#xff0c;打破了国内高温超导电动悬浮航行速度纪录。在380米线路上&#xff0c;实现了234公里/小时的试验速度。这项技术突破标志着商业航天电磁发射技术已具备了系统研制和试验…...

MySQL和Oracle数据库引擎

MYSQL数据库&#xff1a; 在mysql数据库中&#xff0c;常用到的引擎主要就是2个&#xff1a;Innodb和MyIASM。 Innodb&#xff1a;它提供了对数据库ACID事务的支持&#xff0c;并且还提供行级锁和外键的约束。它被设计的目的就是处理大数据容器的数据库系统&#xff0c;它本身…...

CloudQuery X PolarDB:让数据库管理更简单

前言&#xff1a;8 月 15 日&#xff0c;CloudQuery 数据操作管控平台与阿里云 PolarDB 数据库管理软件&#xff0c;完成产品集成认证测试。也在以下功能上完善了用户使用 PolarDB 的体验&#xff0c;使数据库的管理更加安全高效。 支持在 CloudQuery 中创建连接&#xff0c;便…...

机器学习开源工具BatteryML,一站式分析与预测电池性能

编者按&#xff1a;天下苦锂电池寿命久矣&#xff0c;时闻“开车出&#xff0c;推车回”&#xff0c;又闻“充电两小时&#xff0c;待机两分钟”&#xff0c;亦闻“气温骤降&#xff0c;请注意电池保暖”……随着以锂离子电池为动力源的产品&#xff0c;如手机、电脑、新能源汽…...

TypeScript:赋予JavaScript数据类型新的力量,提升编程效率!

&#x1f3ac; 岸边的风&#xff1a;个人主页 &#x1f525; 个人专栏 :《 VUE 》 《 javaScript 》 ⛺️ 生活的理想&#xff0c;就是为了理想的生活 ! ​ &#x1f4da; 前言 TypeScript&#xff1a;扩展JavaScript数据类型&#xff0c;赋予编程更强大的表达能力&#xff01…...

LLMs之Baichuan 2:《Baichuan 2: Open Large-scale Language Models》翻译与解读

LLMs之Baichuan 2&#xff1a;《Baichuan 2: Open Large-scale Language Models》翻译与解读 导读&#xff1a;2023年9月6日&#xff0c;百川智能重磅发布Baichuan 2。科技论文主要介绍了Baichuan 2&#xff0c;一个开源的大规模语言模型&#xff0c;以及其在多个领域的性能表现…...

听书网站模板源码 懒人书院网站源码 苹果cms手机听书网站模版源码 支持手机端

苹果cms超漂亮UI高仿芒果TV听书网站模板带手机端。 手机版修改logo&#xff0c;ting_wap/images/logo.png 电脑版修改logo&#xff0c;ting_pc/img/logo.png 编辑推荐后台推荐5颗星。 新势力/热播榜单后台推荐9颗星。...

算法 数据结构 斐波那契数列 递归实现斐波那契数列 斐波那契递归的优化 斐波那契数列递归求解 多路递归实现 斐波那契算法系列 数据结构(十一)

1. 什么是斐波那契数列&#xff1a; 之前的例子是每个递归函数只包含一个自身的调用&#xff0c;这称之为 single recursion 如果每个递归函数例包含多个自身调用&#xff0c;称之为 multi recursion 递推关系 下面的表格列出了数列的前几项 F0F1F2F3F4F5F6F7F8F9F10F11F12…...

【面试经典150 | 双指针】两数之和

文章目录 写在前面Tag题目来源题目解读解题思路方法一&#xff1a;暴力枚举方法二&#xff1a;哈希表方法三&#xff1a;二分法方法四&#xff1a;双指针 知识回顾写在最后 写在前面 本专栏专注于分析与讲解【面试经典150】算法&#xff0c;两到三天更新一篇文章&#xff0c;欢…...

桥接模式简介

概念&#xff1a; 桥接模式是一种结构型设计模式&#xff0c;它将抽象和实现分离&#xff0c;使它们可以独立地变化。通过使用桥接模式&#xff0c;可以将一个类的抽象部分与其具体实现部分解耦&#xff0c;并且可以在运行时动态地选择不同的实现。 特点&#xff1a; 将抽象…...

零钱兑换00

题目链接 零钱兑换 题目描述 注意点 如果没有任何一种硬币组合能组成总金额&#xff0c;返回 -1可以认为每种硬币的数量是无限的 解答思路 动态规划从总金额1开始推出目标金额所需的最少硬币个数&#xff0c;任意某个金额所需的最少硬币个数可以由当前金额减去每种面额的硬…...

JavaScipt中如何实现函数缓存?函数缓存有哪些场景?

1、函数缓存是什么&#xff1f; 函数缓存就是将函数运行的结果进行缓存。本质上就是用空间&#xff08;缓存存储&#xff09;换时间&#xff08;计算过程&#xff09; 常用于缓存数据计算结果和缓存对象。 缓存只是一个临时的数据存储&#xff0c;它保存数据&#xff0c;以便将…...

android studio的Android Drawable Preview

Android Drawable Preview 应用后&#xff0c;如下图&#xff1a; 再也不用一个一个点开去看了 其他学习资料&#xff1a; 1、付费专栏《Android kotlin入门到进阶系列讲解》&#xff1a;https://blog.csdn.net/qq_35091074/category_11036895.html 2、免费专栏《Android kot…...

基于云计算的区域LIS系统系统源码

在医疗机构内部&#xff0c;院内实验室主要负责本院临床科室的检验&#xff0c;院内LIS系统必须满足实验室日常的标本处理入库、仪器联机、检验结果处理、报告打印、报告发布、检验信息统计、检验信息报告发布、标本流程、外部医疗机构检验报告调阅等工作。 在医疗机构间&#…...

VR农学虚拟仿真情景实训教学演示

首先&#xff0c;VR农学虚拟仿真情景实训教学提供了更为真实的实践环境。传统的农学实训往往受制于时间、空间和资源的限制&#xff0c;学生只能通过观察或简单的模拟来学习农业知识和技能。而借助虚拟现实技术&#xff0c;学生可以进入虚拟农场&#xff0c;与各种农作物、工具…...

sklearn中make_blobs方法:聚类数据生成器

sklearn中make_blobs()方法参数&#xff1a; n_samples:表示数据样本点个数,默认值100 n_features:是每个样本的特征&#xff08;或属性&#xff09;数&#xff0c;也表示数据的维度&#xff0c;默认值是2。默认为 2 维数据&#xff0c;测试选取 2 维数据也方便进行可视化展示…...

Win11自带微软输入法怎么输入π及其他希腊字母

如果用搜狗等第三方输入法的话就没有这些问题了&#xff0c;各种符号很方便。 自带的输入法输入 pi 和 pai 都不能正常输入 π \pi π 参考文章 https://www.cnblogs.com/qq-757617012/p/14078133.html 如果用自带的输入法可以采用以下方式 输入uuxl xl表示“希腊”&#x…...

基于Council框架的多智能体协作:构建专家委员会式AI决策系统

1. 项目概述&#xff1a;一个智能化的团队决策引擎最近在开源社区里看到一个挺有意思的项目&#xff0c;叫“Cat-tj/council-tj”。这个名字乍一看有点抽象&#xff0c;但拆开来看&#xff0c;“Council”在英文里是“议会”或“委员会”的意思&#xff0c;而“tj”通常是“Tav…...

轻量化目标检测实战:基于Pytorch的Mobilenet-YOLOv4融合架构设计与性能调优

1. 为什么需要轻量化目标检测模型 在移动端和嵌入式设备上运行目标检测模型时&#xff0c;我们常常面临两个关键挑战&#xff1a;计算资源有限和功耗约束。传统的YOLOv4虽然检测精度高&#xff0c;但其基于CSPDarknet53的主干网络参数量大、计算复杂度高&#xff0c;难以在资源…...

(122页PPT)数字化IT架构蓝图规划设计方案(附下载方式)

篇幅所限&#xff0c;本文只提供部分资料内容&#xff0c;完整资料请看下面链接 https://download.csdn.net/download/2501_92796370/92683861 资料解读&#xff1a;数字化 IT 架构蓝图规划设计方案 详细资料请看本解读文章的最后内容 在数字化转型浪潮下&#xff0c;运营商…...

大模型低显存优化实战:量化、KV Cache与动态加载技术解析

1. 项目概述&#xff1a;低显存环境下的OpenClaw模型优化实战最近在GitHub上看到一个挺有意思的项目&#xff0c;标题是“openclaw-lowmem-optimization”。光看名字&#xff0c;就能猜到这大概是在做一件什么事&#xff1a;针对OpenClaw这个模型&#xff0c;进行低显存&#x…...

紧急通知:v8.1即将关闭旧版审美缓存——72小时内必须完成的3步风格校准清单

更多请点击&#xff1a; https://intelliparadigm.com 第一章&#xff1a;v8.1旧版审美缓存关停的技术动因与全局影响 核心架构演进压力 V8.1 引擎中长期运行的“审美缓存”&#xff08;Aesthetic Cache&#xff09;模块&#xff0c;本质上是一套基于 DOM 树节点样式偏好建模…...

Stardew Valley Mod开发:使用OpenClaw主题框架快速构建原生风格UI

1. 项目概述&#xff1a;一个为Stardew Valley Mod开发者量身打造的主题框架如果你是一位《星露谷物语》&#xff08;Stardew Valley&#xff09;的模组&#xff08;Mod&#xff09;开发者&#xff0c;或者正打算踏入这个充满创造力的社区&#xff0c;那么你很可能已经体会过&a…...

从方程到应用:激光雷达核心参数与激光器选型指南

1. 激光雷达方程&#xff1a;从数学公式到物理意义 第一次接触激光雷达方程时&#xff0c;我也被那一堆希腊字母和下标搞得头晕眼花。但后来发现&#xff0c;这个看似复杂的方程其实就像买菜算账一样简单直白。激光雷达方程本质上是个"能量收支平衡表"&#xff0c;它…...

Aviator表达式引擎:从编译优化到规则引擎实战

1. Aviator表达式引擎初探 第一次接触Aviator是在一个电商风控项目中&#xff0c;当时系统需要处理大量实时交易规则判断。传统的if-else代码已经膨胀到难以维护的程度&#xff0c;每次业务规则变更都需要重新发布。这时候技术负责人推荐了Aviator&#xff0c;一个基于Java的高…...

【职场】聪明人,从不在公司交朋友

聪明人&#xff0c;从不在公司交朋友“你以为你们是朋友。但有一天你会发现&#xff0c;你们之间站着一个共同的雇主。”一、那个"最懂你"的同事 你们一起骂过同一个领导。 一起在茶水间吐槽过公司文化。 一起在深夜加班时互相打气。 你告诉他你想离职&#xff0c;告…...

Unity3D项目跨平台部署实战:从Windows到Linux的完整流程与避坑指南

1. 环境准备&#xff1a;搭建跨平台开发基础 跨平台部署的第一步是确保开发环境配置正确。很多开发者容易忽略这一步&#xff0c;结果在后续流程中遇到各种奇怪的问题。我在实际项目中遇到过多次因为环境不匹配导致的编译失败&#xff0c;所以特别强调环境准备的重要性。 首先需…...