Android_菜单组

Android自定义ViewGroup完美实现 ArcMenu 代码为博客实例代码:http://blog.youkuaiyun.com/lmj623565791/article/details/37567907 有问题博客中留言 立即下载

菜单组

春有百花秋有月,夏有凉风冬有雪。 --颂古五十五首其一

​ 菜单组是菜单项集合,可用来为菜单项设置共同的属性

菜单分组

  • 使用可以对菜单项目进行

    • 菜单组可以在菜单资源文件中定义,把元素嵌套在元素中来创建分组菜单
      <menu xmlns:android="http://schemas.android.com/apk/res/android"
          xmlns:app="http://schemas.android.com/apk/res-auto"
          xmlns:tools="http://schemas.android.com/tools"
          tools:context="com.example.menudemo2.MainActivity">
          <item
              android:id="@+id/item1"
              android:orderInCategory="100"
              android:title="普通项"
              app:showAsAction="never" />
          <item
              android:id="@+id/item2"
              android:orderInCategory="100"
              android:title="普通项"
              app:showAsAction="never" />
          <group android:id="@+id/group1" android:checkableBehavior="single">
              <item
                  android:id="@+id/item3"
                  android:orderInCategory="100"
                  android:title="菜单组1: 单选按钮1"
                  app:showAsAction="never" />
      
              <item
                  android:id="@+id/item4"
                  android:orderInCategory="100"
                  android:title="菜单组1: 单选按钮2"
                  app:showAsAction="never" />
          </group>
      
          <group android:id="@+id/group2" android:checkableBehavior="all">
              <item
                  android:id="@+id/item5"
                  android:orderInCategory="100"
                  android:title="菜单组2: 多选按钮1"
                  app:showAsAction="never" />
      
              <item
                  android:id="@+id/item6"
                  android:orderInCategory="100"
                  android:title="菜单组2: 多选按钮2"
                  app:showAsAction="never" />
          </group>
      </menu>
    

    android:checkableBehavior="" 控制选项为单选还是多选

    • 在Android应用程序中,使用带有分组Id的add()方法来创建分组

       menu.add(1,2,0,"增加组:普通项1");
       menu.add(1,1,0,"增加组:普通项2
      

      public void onCreateContextMenu()方法中添加

      /*

      • 第一个int类型的group ID参数,代表的是组概念,你可以将几个菜单项归为一组,以便更好的以组的方式管理你的菜单选项
        • 第二个int类型的Item ID参数,代表的是项目编号。这个参数非常重要
        • 第三个int类型的order ID参数,代表的是菜单项的显示顺序。默认0
        • 第三个String类型的title参数,表示的是选项中的显示文字
        • */
  • 对于同一个中的,可以通过menu执行以下操作:

    • public void setGroupVisible(int group, boolean visible);

       menu.setGroupVisible(R.id.group1,false);
      
      • 显示或隐藏组内的所有元素
      • group指的是元素的id属性
    • public void setGroupEnabled(int group, boolean enabled);

      menu.setGroupEnabled(R.id.group1,true);
      
      • 弃用或者金庸组内的所有项目
    • public void setGroupCheckable(int group, boolean checkable,boolean exclusive);

       menu.setGroupCheckable(R.id.group2,true,false);
      
      • 指定组内的所有选项是否可选中
      • exclusive为true,代表菜单项为单选模式,否则为多选模式

整个源码

  • menu.xml

    <menu xmlns:android="http://schemas.android.com/apk/res/android"
        xmlns:app="http://schemas.android.com/apk/res-auto"
        xmlns:tools="http://schemas.android.com/tools"
        tools:context="com.example.menudemo2.MainActivity">
        <item
            android:id="@+id/item1"
            android:orderInCategory="100"
            android:title="普通项"
            app:showAsAction="never" />
        <item
            android:id="@+id/item2"
            android:orderInCategory="100"
            android:title="普通项"
            app:showAsAction="never" />
        <group android:id="@+id/group1" android:checkableBehavior="single">
            <item
                android:id="@+id/item3"
                android:orderInCategory="100"
                android:title="菜单组1: 单选按钮1"
                app:showAsAction="never" />
    
            <item
                android:id="@+id/item4"
                android:orderInCategory="100"
                android:title="菜单组1: 单选按钮2"
                app:showAsAction="never" />
        </group>
    
        <group android:id="@+id/group2" android:checkableBehavior="all">
            <item
                android:id="@+id/item5"
                android:orderInCategory="100"
                android:title="菜单组2: 多选按钮1"
                app:showAsAction="never" />
    
            <item
                android:id="@+id/item6"
                android:orderInCategory="100"
                android:title="菜单组2: 多选按钮2"
                app:showAsAction="never" />
        </group>
    </menu>
    
  • java

    public class MainActivity extends AppCompatActivity {
    
        @Override
        protected void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
    
            binding = ActivityMainBinding.inflate(getLayoutInflater());
            setContentView(binding.getRoot());
    
            setSupportActionBar(binding.toolbar);
    
            Button button = findViewById(R.id.group_button);
            registerForContextMenu(button);
    
        }
    
        @Override
        public void onCreateContextMenu(ContextMenu menu, View v, ContextMenu.ContextMenuInfo menuInfo) {
            getMenuInflater().inflate(R.menu.menu_main,menu);
            menu.setGroupVisible(R.id.group1,false);
            menu.setGroupEnabled(R.id.group1,true);
            menu.setGroupCheckable(R.id.group2,true,false);
    
            menu.add(1,2,0,"增加组:普通项1");
            menu.add(1,1,0,"增加组:普通项2");
            super.onCreateContextMenu(menu, v, menuInfo);
        }
    
        @Override
        public boolean onContextItemSelected(@NonNull MenuItem item) {
            switch (item.getItemId()){
                case R.id.item1:
                case R.id.item2:
                case R.id.item3:
                case R.id.item4:
                case R.id.item5:
                case R.id.item6:
                case 1:
                case 2:
           Toast.makeText(this,item.getTitle()+"",Toast.LENGTH_SHORT).show();
                return true;
            }
            return super.onContextItemSelected(item);
        }
    
    }
    
Autosar结合simulink的汽车应用层软件开发实例 本文基于汽车应用开发案例,并结合Autosar相关知识,生成具有Autosar标准的汽车应用层开发代码,以供学习和参考。以上就是本篇内容,主要是利用Simulink创建Autosar接口并进行端口映射的方法。 阅读详情

相关推荐

别再手动写用例了!用AI Agent自动生成测试用例的保姆级实战(附Python代码)

本文详细介绍了如何利用AI Agent技术自动生成测试用例,大幅提升测试工程师的工作效率。通过Python代码实战演示,从环境搭建到核心Agent构建(需求解析、场景挖掘、用例编排),再到与企业工具链(TestRail、Jira)的深度集成,帮助团队实现测试用例的智能化生成与管理。

weixin_30897233的博客 646

Android Studio中Menu的group元素2-1

Android Studio的Menu菜单的group属性用来给菜单项进行分组,以便对同一个group的菜单项进行统一操作。可以通过代码或者XML文件实现对菜单项的统一操作。 1添加group元素 在菜单XML文件中添加group子元素,如图1所示。 图1 group元素 从图1中可以看到,添加了group子元素,并且设置了该元素的id属性。将三个菜单项放入该group中。 2通过代码统一操作 可以通过setGroupVisible()、setGroupEnabled和setGroup...

hou09tian的博客 1918

无限维李代数局部与2-局部1/2-导子:从概念到Witt代数实例解析

在抽象代数与数学物理中,李代数是描述对称性的基本结构,而导子则是刻画其微分性质的核心算子。从经典的导子概念出发,通过引入“局部”与“分数阶”两个关键推广,形成了局部导子、2-局部导子以及1/2-导子等重要研究方向。这些推广不仅深化了对无限维李代数(如Witt代数、Virasoro代数)复杂结构的理解,其研究方法和结论也为共形场论、可积系统等物理理论提供了数学基础。本文聚焦于无限维李代数上局部与2-局部1/2-导子的系统研究,通过拆解核心概念、剖析典型代数结构,并以Witt代数为实例,详细演示了从全局1/2-

weixin_34072296的博客 392

Android美化menu的小技巧-item菜单项添加标题

直接上代码 <?xml version="1.0" encoding="utf-8"?> <menu xmlns:android="http://schemas.android.com/apk/res/android"> <item android:title="小部件"> <menu> <group android:id="@+id/

qq_43666360的博客 1890

Protege新手入门:5分钟搞定本体建模基础(附实战案例)

本文为Protege本体建模新手提供了一份快速入门指南。通过构建一个关于“披萨”的实战案例,详细讲解了从环境准备、定义核心类(Classes)、建立对象属性(Object Properties)到设置数据属性(Data Properties)和创建个体的完整流程。文章旨在帮助读者绕过复杂理论,在5分钟内直观掌握本体建模的基础操作,快速建立知识图谱构建的信心。

weixin_28335283的博客 284

Linux实战:rMATS可变剪切分析从零到一,避坑指南与结果深度解析

本文详细介绍了在Linux系统上从零开始部署rMATS进行可变剪切分析的完整流程,包括环境搭建、安装避坑指南、参数优化及结果解读。特别针对gfortran依赖、数学库配置等常见问题提供解决方案,并深入解析JC与JCEC结果的差异及可视化技巧,帮助生物信息学研究者高效完成可变剪切分析。

weixin_30394669的博客 410

猴子都能看懂的Android Menu总结

简单谈谈Android menu菜单的使用,帮助入门的同学。menu主要分类:选项菜单:最常规的菜单 子菜单:多层菜单的实现方案之一 上下文菜单:android中长按视图控件后出现的菜单选项菜单(OptionMenu)该菜单默认在右上角显示,有两种布局方式,xml布局和java代码布局,首先看一下在XMl中的布局方式 一个简单的代码示例 静态布局(xml): <group

Walk the horizon 2万+

Hyper-V显卡直通实战:手把手解决Windows 11虚拟机错误码43(附完整参数配置)

本文详细解析了在Windows 11 Hyper-V虚拟机中配置显卡直通时遭遇错误码43的根源,并提供了从环境检查、核心PowerShell命令(如Set-VMGpuPartitionAdapter)配置到虚拟机内驱动替换的完整实战解决方案,帮助用户彻底解决显卡驱动无法加载的问题。

weixin_29238147的博客 899

Android Menu用法全面讲解

菜单(Menu)是Android应用中非常重要且常见的组成部分,主要可以分为三类:选项菜单、上下文菜单/上下文操作模式以及弹出菜单。本文只介绍Android3.0及以上的Menu知识点。

CodingEnding的博客 2万+

【教程4>第6章>第3节】LS信道估计与均衡系统MATLAB仿真实现

1]姬国伟,葛利嘉,龙秀虹.基于LS信道估计的SC-FDE系统性能研究[J].军事通信技术, 2010(1):6.DOI:CNKI:SUN:JSTY.0.2010-01-013.在无线通信中,信号在空间传播时,随着传输距离增加,能量会逐渐扩散,导致信号幅度减小,即发生衰减。第四个图表示的是提取的信道估计值,可以看到,在不插值的前提下,得到的信道估计值基本接近真实的信道h。从第五个图可知,通过信道估计,对接收信号进行了校正和补偿。信道模型,先通过awgn加入噪声,然后乘以hreal,模拟通过信道。

FPGA/MATLAB学习教程/源码/项目合作开发 389

Pytorch入门实战(2)-使用BP神经网络实现MNIST手写数字识别

上一篇:Pytorch入门实战(1) - 实现线性回归 涉及知识点 Pytorch nn.Module的基本使用 Pytorch nn.Linear的基本用法 PytorchVision Transforms的基本使用 Pytorch中DataLoader的基本用法 Pytorch详解NLLLoss和CrossEntropyLoss 如何确定神经网络的层数和隐藏层神经元数量 本文内容 本文将会使用BP神经网络(就是最普通的神经网络)实现一个MNIST手写数据集的实现。话不多说,直接开始。 首先先导入需要的包

iioSnail的博客 6617

Android菜单Menu详解

菜单资源文件通常放置在res\menu目录下,在创建项目时,默认不自动创建menu目录,所以需手动创建。或在创建为标记的xml文件对自动气建眼为和设置ID,也就是唯一标识。设置标题。android:指定字符快捷键。android:指定数字快捷键。android:是否可用。android:是否可选。android:是否可见。android:是否已选用。

m0_57150356的博客 4818

SAP VC 可配置物料超级BOM简介

在有些业务中比如:汽车、笔记本、电脑、电梯等产品中,其中组成产品的型号个框架是确认的 ,但是框架内部的BOM是可变的,在客户下销售订单的时候,选取对应的组件 ,让后通过MRP的计算优生产线对这样的销售订单提供生产。这个时候我们需要选择我们需要的内存和硬盘的型号,还记得我们前面创建的特征值对应的吗,A对应的8G、B对应16G、X对应1T硬盘、Y对应2T硬盘,这里我们填写对应的值,我们这里选择16G的内存和2T的硬盘,B和Y。3、当我们选择了可配置物料的生产模式时,基本上就选择了按单生产的生产模式了。

我小时候很黑的博客 1万+

android子菜单&&组菜单

package com.test.menu; import android.app.Activity; import android.os.Bundle; import android.view.Menu; import android.view.MenuInflater; import android.view.MenuItem; import android.view.SubMenu; im

Coder 2559

VC中sqlite的使用

在VC中对sqlite的使用,实现数据库大批数据的快速插入,读取数据库中的数据在ListCtrl中显示

SAP B1中文培訓教材_SDK

公司内部培训资料,对开发工具 ,DIAPI, UIAPI,Add-ON有详细解说

android Menu菜单组键

趁着快上课,赶紧把今天学习的东西记录一下!! 今天来讲讲Menu这个类!但是听一个大牛说Menu已经不推荐使用了,但是我觉的还是要学习学习! 首先可以通过两种方式来创建自己的Menu,第一种是通过XML文件,第二种是在java代码程序中创建,至于选哪一种,看个人爱好!本人推荐在XML中创建,这样符合MVC模型的要求! 第一种在XML中创建,在res目录下创建一个menu目录 menu.xm

2170

IEM模型,地表粗糙度模拟

利用微波反演土壤水分时候,利用IEM模型可以实现对随机地表的模拟

android菜单详解五:菜单的其它特性

这里是一些其它特性,你可以把它们应用于大多数菜单条目. 菜单组 一个菜单组是由共享某些特性的一系列菜单项组成的.对于组,你可以: 显示或隐藏所有的菜单项 ,使用方法 setGroupVisible()Enable 或 disable 所有的菜单项,使用方法 setGroupEnabled()指定所有的菜单项是否是 checkable ,使用方法 setGroupCheckable() ...

weixin_30410119的博客 87

VB摄像头监控

该VB模块可对摄像头捕获的画面进行录像等,可在创建的窗口进行控制

从零开始--系统深入学习android(实践-让我们开始写代码-Android框架学习-3. 菜单)

第3章 菜单 在许多不同类型的应用中,菜单通常是一种用户界面组件。为了提供给用户提供熟悉且一致的体验,你需要使用菜单API来展示用户动作和你Activity中的其他选项。 从安卓3.0系统(API level 11)开始,安卓设备已经不再需要提供专用的菜单按键。基于这种变化,安卓应用需要远离原来所依赖的传统6选项菜单盘,取而代之的是提供一个动作条来显示普通用户的动作。虽然设计方案和用户使用菜单

mark0614的专栏 1014

用户界面组件-菜单(Menus)

  原文链接:http://android.eoe.cn/topic/ui   在许多不同类型的应用中,菜单通常是一种用户界面组件。为了提供给用户熟悉且一致的体验,你需要使用菜单API来展示用户动作和你应用中的其他选项。 从安卓3.0系统(API level 11)开始,安卓设备已经不再需要提供专用的菜单按键。基于这种变化,安卓应用需要远离原来所依赖的传统6选项菜单盘,取而代之的是提供一...

Android小子的博客笔记 1285

从零开始--系统深入学习android(实践-让我们开始写代码-Android框架学习-3. 菜单)...

第3章 菜单 在许多不同类型的应用中,菜单通常是一种用户界面组件。为了提供给用户提供熟悉且一致的体验,你需要使用菜单API来展示用户动作和你Activity中的其他选项。 从安卓3.0系统(API level 11)开始,安卓设备已经不再需要提供专用的菜单按键。基于这种变化,安卓应用需要远离原来所依赖的传统6选项菜单盘,取而代之的是提供一个动作条来显示 普通用户的动作。虽然设计方案和用户...

weixin_30469895的博客 130

初学Android 使用菜单资源 十九

初学Android 使用菜单资源 十九

hffyyff的博客 296

Android开发指南-用户界面-菜单特性

菜单特性Menu Features 下面是适用于大多数菜单项的一些其他的特性。 菜单组Menu groups 当往菜单中添加新项时,你可以选择把它包含在一个组中。一个菜单组是一些可以共享某些特征的菜单项的集合,比如它们是否可见,是否可用,或者可否复选(checkable)。 一个组由一个整数定义(或者一个XML里的资源ID)。当我们使用接受一个groupId参数的add()方法,比

有望得到的要努力,无望得到的不介意,则无论输赢姿势都会好看! 448

Menu详解(一):代码实现系统菜单及子菜单

转于:http://blog.youkuaiyun.com/harvic880925/article/details/38657463   --------------------------------------------------------------------------------------------------     前言:这周看到菜单部分,以前也对菜单有过使用,但并没有...

键盘上的舞者 1136

android菜单详解:菜单的一些特性

这里是一些其它特性,你可以把它们应用于大多数菜单条目. 菜单组 一个菜单组是由共享某些特性的一系列菜单项组成的.对于组,你可以: 显示或隐藏所有的菜单项 ,使用方法 setGroupVisible()Enable 或 disable 所有的菜单项,使用方法 setGroupEnabled()指定所有的菜单项是否是 checkable ,使用方法 setGroupCheckable()

ElaineYY714的专栏 707

Android中菜单的定义方法以及常用的组件属性

一、 使用xml定义Menu 菜单资源文件必须放在res/menu目录中。菜单资源文件必须使用标签作为根节点。除了标签外,还有另外两个标签用于设置菜单项和分组,这两个标签是和。 标签没有任何属性,但可以嵌套在标签中,表示子菜单的形式。不过标签中不能再嵌入标签。 1.标签的属性含义如下: Id:表示菜单项的资源ID menuCategory:同种菜单项的种类。该属性可取4个值:container、system、secondary和alternative。通过menuCategroy属性可以控制菜单项的位置。例

qq_42595610的博客 792
上一篇: Android_上下文菜单两种创建模式
下一篇: Android_菜单启用外部应用
ColdKite_鸢
博客等级 码龄7年 1粉丝 10原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

ColdKite_鸢

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值