android menu xml 属性,Android中Menu类型及常见属性说明

Android系统里面有3种类型的菜单:options menu,context

menu,sub menu。

一、options

menu

按Menu键就会显示,用于当前的Activity。

它包括两种菜单项:

因为options menu在屏幕底部最多只能显示6个菜单项,这些菜单项称为icon menu ,icon

menu只支持文字(title)

以及icon,可以设置快捷键,不支持checkbox以及radio控件,所以不能设置checkable选项。

而多于6的菜单项会以“more” icon menu来调出,称为expanded menu 。它不支持icon,其他的特性都和icon

menu一样。

在Activity里面,一般通过以下函数来使用options

menu:

Activity::onCreateOptionsMenu (Menu

menu)   创建options

menu,这个函数只会在menu第一次显示时调用。

Activity::onPrepareOptionsMenu (Menu

menu)  更新改变options

menu的内容,这个函数会在menu每次显示时调用。

Activity::onOptionsItemSelected (MenuItem

item) 处理选中的菜单项。

二、context

menu

要在相应的view上按几秒后才显示的,用于view,跟某个具体的view绑定在一起。

这类型的菜单不支持icon和快捷键。

在Activity里面,一般通过以下函数来使用context

menu:

Activity::registerForContextMenu(View view)

为某个view注册context menu,一般在Activity::onCreate里面调用。

Activity::onCreateContextMenu(ContextMenu

menu, View v, ContextMenu.ContextMenuInfo menuInfo) 创建context

menu,和options menu不同,context meun每次显示时都会调用这个函数。

Activity::onContextItemSelected(MenuItem item)

处理选中的菜单项。

三、sub menu

以上两种menu都可以加入子菜单,但子菜单不能嵌套子菜单,这意味着在Android系统,菜单只有两层,设计时需要注意的。同时子菜单不支持icon。

四、group和item常见属性的说明

1、

表示在它里面的在同一group。相关属性包括:

id :group id

menuCategory :对应 常量Menu

CATEGORY_*  —

定义了一组的优先权,有效值:container,system,secondary,和alternative

orderInCategory

:定义这组菜单在菜单中的默认次序,int值

checkableBehavior

:这组菜单项是否checkable。有效值:none,all(单选/单选按钮radio

button),single(非单选/复选类型checkboxes)

visible :这组菜单是否可见 true or

false

enabled :这组菜单是否可用,true or

false

2、

菜单项,可以嵌入

id :  item

id

menuCategory :

用来定义menu类别

orderInCategory :

用来定义次序,与一个组在一起(Used to define the order of the item, within a

group)

title : 标题

titleCondensed :标题摘要,

当原标题太长的时候,需要用简短的字符串来代替title

icon : icon 图标

alphabeticShortcut :

字母快捷键

numericShortcut

:数学快捷键

checkable :是否为checkbox, true

or false

checked :是否设置为checked状态,true

or false

visible : 是否可见, true or

false

enabled :是否可用,true or

false

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/471753.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

LeetCode 1980. 找出不同的二进制字符串

文章目录1. 题目2. 解题1. 题目 给你一个字符串数组 nums ,该数组由 n 个 互不相同 的二进制字符串组成,且每个字符串长度都是 n 。 请你找出并返回一个长度为 n 且 没有出现 在 nums 中的二进制字符串。 如果存在多种答案,只需返回 任意一个…

#时间预测算法_改进的智慧交通系统出行时间预测算法

引用Chowdhury N K, Leung C K S. Improved travel time prediction algorithms for intelligent transportation systems[C]//International Conference on Knowledge-Based and Intelligent Information and Engineering Systems. Springer, Berlin, Heidelberg, 2011: 355-3…

Navicat for MySQL数据库管理工具

官网下载地址:http://www.navicat.com/download/navicat-for-mysql //如图所示成功建立连接 Host Nmae/Ip Adress:localhost为本地连接,建立远程数据库连接时设置对应ip即可。 1).新建表插入中文数据可以出现: 导致程序直接关闭&a…

LeetCode 1981. 最小化目标值与所选元素的差(DP)

文章目录1. 题目2. 解题1. 题目 给你一个大小为 m x n 的整数矩阵 mat 和一个整数 target 。 从矩阵的 每一行 中选择一个整数,你的目标是 最小化 所有选中元素之 和 与目标值 target 的 绝对差 。 返回 最小的绝对差 。 a 和 b 两数字的 绝对差 是 a - b 的绝对…

android c 11 编译,Android NDK r9b和编译C 11

对不起,以下应该是评论,而不是回答 – 因为我不知道你的代码有什么问题,但是你可以做些什么来弄清楚自己:这是我最小的Android.mk:LOCAL_PATH : $(call my-dir)include $(CLEAR_VARS)LOCAL_MODULE : hello-jniLOCAL_SRC_FILES : HelloJni.cppLOCAL_LDLIB…

hdu 5312 数学

转载于:https://www.cnblogs.com/cnblogs321114287/p/4676747.html

协程asyncio_Asyncio深入浅出

Asyncio是一个异步编程的框架,可以解决异步编程,协程调度问题,线程问题,是整个异步IO的解决方案。在学习asyncio之前,我们先来理清楚同步/异步的概念:同步是指完成事务的逻辑,先执行第一个事务&…

android qml 菜单,QML - ListView项目,用于显示菜单

当用户点击项目时,我正在寻找关于在列表项目下显示菜单的一些提示和指示 .如果我有这样的ListModel:ListModel {ListElement {name: "Bill Smith"number: "555 3264"}ListElement {name: "John Brown"number: "555 8…

随笔2

目前三件事 1.去除强迫思维 2.追女生 3.工作 这三件对于我来说都是非常困难的,慢慢的解决,不急,一定要坚持,不管遇到什么困难。。。转载于:https://www.cnblogs.com/zzyoucan/p/4678466.html

python 迭代器、生成器、yield、iter

文章目录1. 迭代器2. 生成器3. 标准库3.1 过滤3.2 映射3.3 合并3.4 排列组合3.5 重新排列4. yield from5. 可迭代的归约函数6. iter 还可以传入2个参数7. 生成器当成协程learn from 《流畅的python》 1. 迭代器 所有生成器都是迭代器,因为生成器完全实现了迭代器接…

java微信学习 接入

现在实习的公司要做微信开发,然而一直没安排任务,所以一直在看微信接口,记录下学习的内容 微信开发肯定要看的就是微信公众平台开发者文档,上面有每种接口的调用格式,刚开始学习的时候自己申请了一个订阅号&#xff0c…

钉钉老版本下载3.31_钉钉3.3.1老版本官方下载-钉钉3.3.1旧版本PC版官方版-东坡下载...

钉钉是由阿里巴巴研发的一款办公聊天工具,是新一代的团队沟通模式,该软件内置强大的办公功能,主要功能有传输文件,发送文字、语音、图片等,消息阅读以及外出打卡等功能,在这里为大家提供的是钉钉3.3.1旧版本…

Android 引用模块中的类,解决Android项目中找不到Module中的封装类或引用的第三方类库...

在日常开发中,现在越来越流行模块化开发,这就需要将项目分成不同的Module进行同时开发,最后在app层进行整合调用,但是不少开发人员都因为在build中添加关联代码,而找不到Module中封装的方法或引用的类库。下面就给大家…

LeetCode 1976. 到达目的地的方案数(迪杰斯特拉 Python 优先队列)

文章目录1. 题目2. 解题1. 题目 你在一个城市里,城市由 n 个路口组成,路口编号为 0 到 n - 1 ,某些路口之间有 双向 道路。 输入保证你可以从任意路口出发到达其他任意路口,且任意两个路口之间最多有一条路。 给你一个整数 n 和…

shell:读取文件的每一行内容并输出

写法一&#xff1a;#!/bin/bash while read linedoecho $linedone < file(待读取的文件)写法二&#xff1a; #!/bin/bash cat file(待读取的文件) | while read linedoecho $linedone写法三&#xff1a;for line in cat file(待读取的文件)doecho $linedone以上三种写法都…

c++ sendmessage 鼠标 坐标是相对自身吗_【科普】你真的足够了解五轴加工吗?看完豁然开朗!...

近年来五轴联动数控加工中心在各领域得到了越来越广泛的应用。在实际应用中&#xff0c;每当人们碰见异形复杂零件高效、高质量加工难题时&#xff0c;五轴联动技术无疑是解决这类问题的重要手段。越来越多的厂家倾向于寻找五轴设备来满足高效率、高质量的加工。但是&#xff0…

32g内存 android开发,16G走开 我要32G内存的安卓手机

对于很多用户来说&#xff0c;在准备换手机的时候最纠结的莫过于是选择16G的还是32G的&#xff0c;毕竟价格相差好几百&#xff0c;但这里给你的建议是买32G的&#xff0c;即使贵点&#xff0c;但长远来说&#xff0c;是利大于弊的&#xff0c;为什么这么说呢&#xff0c;且听小…

python 上下文管理器、 else 块、@contextmanager

文章目录1. else2. with上下文管理器3. contextlib模块实用工具4. contextmanager 装饰器learn from 《流畅的python》 1. else for/else、while/else 和 try/else 前两者 只有在 没有被break 时&#xff0c;才会运行 else try 块中没有异常抛出时 才运行 else for i in ran…

ios 异常捕获

try {autoreleasepool {return UIApplicationMain(argc, argv, nil, NSStringFromClass([AppDelegate class]));}}catch (NSException *exception) {NSLog("exception%", exception.description);}finally {} 在ios中经常会使用try catch finally捕获异常, 也可以使用…

andriod studio 运行 无结果_无负压静音供水设备下篇一

1、无负压静音供水设备的安全接地保护a )控制柜的金属柜体上应有可靠的接地保护&#xff0c;与接地点相连的保护导线的截面应符合GB/T3797-2005中4.10.6的规定。与接地点连接的导线必须是黄、绿双色或铜编织线&#xff0c;并有明显的接地标识。a) 主接地点与设备任何有关的、因…