Android_选项菜单的创建

Android 中选项菜单(Option menu)的用法 先看下效果: 菜单在程序中使用颇为广泛,几乎所有的桌面应用都含有菜单。Android的菜单分为三种类型 option menu:选项菜单 context menu: 上下文菜单 popup menu:弹出菜单 本文讲解的是选项菜单。 1.首先在res目录下,创建menu文件夹,之后在menu文件中,创建item_menu.xml <?xml version="1.0" encoding="utf-8"?> <menu xmlns:android="http://schemas.andro 阅读详情

选项菜单

钟表走着同样的节拍,夜晚缀着同一簇星星。

菜单模式介绍

​ 菜单是增强用户应用程序使用便捷性的一种重要功能,在模拟器或者真机上面都有Menu键,点击该键就会弹出一个菜单

  • 目前常见的菜单UI包括:
    • 选项菜单(Options menu)
    • 上下文菜单(Context menu)
    • 弹出菜单(Popup menu)
    • 子菜单(Sub menu)
  • android.view.Menu接口代表一个菜单,android用它来管理各种菜单项。
  • 每个Activity默认都自带了一个menu,开发人员通过重写回调方法、为它加菜单项和响应菜单的点击事件。
    • Android.view.Menultem代表每个菜单项
    • android.view.SubMenu代表子菜单
  • Android提供了标准的XML格式来定义菜单项

选项菜单的添加步骤

  1. 创建资源文件夹
  2. 创建Menu XML文件
  3. 添加Menu Items
  4. 创建Menu Items的图标
  5. 注册视图元素
  6. 获得菜单资源
  7. 响应Item选择事件
创建菜单项目(Basic Activity)

​ 创建一个项目Basic Activity,其他也行

创建菜单界面并加载菜单
  • 在R.文件下建立menu文件夹,在menu文件夹下新建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.menudemo.MainActivity">
    <item
        android:id="@+id/action_settings"
        android:orderInCategory="100"
        android:title="@string/action_settings"
        app:showAsAction="ifRoom|withText"
        android:icon="@drawable/png1"/>

    <item
       android:id="@+id/action_help"
       android:title="@string/action_help"
        android:orderInCategory="90"
        app:showAsAction="always"
        android:icon="@drawable/png2"/>

    <item
        android:id="@+id/action_File"
        android:title="@string/action_file"
        android:orderInCategory="80"
        app:showAsAction="never">
        <menu>
            <item
                android:id="@+id/action_open"
                android:title="@string/action_open"/>
            <item
                android:id="@+id/action_close"
                android:title="@string/action_close"/>
        </menu>
    </item>
</menu>

android:orderInCategory=“100” -->设置每个菜单项目的权重,权重越大,选项约 在下
android:title=“string” -->设置菜单项目的名字
app:showAsAction=" " -->设置菜单项目的显示方式
ifRoom 位置足够显示在标题栏目
withText 显示菜单项目名字(默认)
always 总是显示在标题栏
never 不显示在标题栏
android:icon="@drawable/" -->设置菜单项目的图片样式代替字体
可在<item>中添加<menu>创建选项菜单中的选项菜单

  • 在主界面java文件中加载菜单(注册视图元素和获取菜单元素)
	@Override
    public boolean onCreateOptionsMenu(Menu menu) {
        // Inflate the menu; this adds items to the action bar if it is present.
        getMenuInflater().inflate(R.menu.menu_main, menu);
        return true;
    }
定制菜单行为响应

​ 在java代码中实现菜单行为的响应

	@SuppressLint("SetTextI18n")
    @Override
    public boolean onOptionsItemSelected(MenuItem item) {
        // Handle action bar item clicks here. The action bar will
        // automatically handle clicks on the Home/Up button, so long
        // as you specify a parent activity in AndroidManifest.xml.
        int id = item.getItemId();
        textView  = findViewById(R.id.textview_first);
        //noinspection SimplifiableIfStatement
        if (id == R.id.action_settings) {
            textView.setText("Setting菜单被选中");
            return true;
        }
        if (id == R.id.action_help) {
            textView.setText("help菜单被选中");
            return true;
        }
        if (id == R.id.action_File) {
            textView.setText("File菜单被选中");
            return true;
        }

        return super.onOptionsItemSelected(item);
    }
    /*Setting菜单自己的onClick的方法*/
 	public void setting(MenuItem menuItem){
        textView  = findViewById(R.id.textview_first);
        textView.setText("Setting方法中的Setting菜单被选中");
    }

1.通过获取每个item的不同ID对每个菜单选项进行监控,推荐使用switch()进行每个菜单的监听

2.当item调用自己的onClick()方法的时候不在调用onOptionsItemSelected()方法中的处理事件

labview的TDMS文件读写 本文先介绍TDMS概念和文件结构,然后介绍VI如何使用,最后分析一个labview的自带范例 阅读详情

相关推荐

桑基图实战指南:Excel/Python/R三工具高效绘制方法

桑基图是一种以线条宽度编码流量大小、以节点位置表达流程阶段、以连接关系呈现数据流向的专项可视化技术,其核心原理在于‘宽即量、位即序、连即逻辑’。它并非装饰性图表,而是面向业务诊断的分析前置工具,尤其适用于预算分配、能源损耗、用户转化等存在明确单向流动与显著数值差异的场景。相比传统柱状图或漏斗图,桑基图能天然暴露系统瓶颈与隐性损耗,大幅提升决策效率。本文聚焦工程落地,覆盖Excel插件快速交付、Python Plotly交互开发、R networkD3生态集成三大主流路径,兼顾数据准备铁律、索引映射规范与中文

cuml0912的博客 488

Android开发——菜单(Menu)-——选项菜单(OptionMenu)

Menu,在Android3.0以前的menu显示,是用户点击手机下方操作按钮的菜单按钮时,会从界面底部向上弹出菜单,菜单内容出现在屏幕底部,可以包含六个及以上的菜单项,超出的部分则以“更多”来显示。 在Android3.0以后的更高版本的系统中,菜单中的项目会出现在操作栏当众,用户通过使用顶部操作栏右侧的图标/提示字,或者按设备的菜单键显示出操作溢出菜单。(3.0以后的菜单栏如下图所示) ...

weixin_42857359的博客 9550

MacBook 上 LaTeX 环境搭建:从 Mactex 到 Sublime Text 与 Skim 的保姆级配置流程

本文详细介绍了在MacBook上搭建LaTeX环境的完整流程,从Mactex安装到Sublime Text与Skim的配置优化。涵盖基础环境准备、编辑器设置、PDF预览同步等关键步骤,帮助用户快速建立高效的LaTeX工作流,特别适合学术写作和技术文档创作。

weixin_30824599的博客 681

20.android 7.0,8.0,9.0 Settings设置内置选项在一级菜单activity方式

20.Settings内置选项在一级菜单activity方式 ① 在AndroidManifest.xml 添加如下代码 <activity android:name=".HardKey" android:label="Mrlove" android:icon="@drawable/ic_home_wikofea...

Mrlove的博客 936

Golang面试(一)莉莉丝游戏-Golang后端开发-中台部门

莉莉丝游戏-Golang后端开发-中台部门 开场白,双方自我介绍,对方介绍这个岗位情况,erlang语言,全部转向go。 聊项目,介绍IM架构以及使用Go写的服务简介 动态扩容相关问题:平常30万,现在100万,你们现在是如何应对的? 如果让你调整架构实现动态扩容,你会怎么做?回答了kafka,是一种,应该还要使用docker和k8s以及微服务框架等 如果使用kafka,你是如何确保消息有序?回答了redis,好像没回答到那个点 消息发送失败的问题,如何做到消息不丢?回答持久化存储、拉消息和ACK 发送失

xmcy001122的专栏 3899

ROST_CM6软件之词频分析、社会网络和语义网络分析、情感分析

简介 ROST CM 6是武汉大学沈阳教授研发编码的国内目前唯一的以辅助人文社会科学研究的大型免费社会计算平台。该软件可以实现微博分析、聊天分析、全网分析、网站分析、浏览分析、分词、词频统计、英文词频统计、流量分析、聚类分析等一系列文本分析。 社会网络和语义网络分析(S) 数据 注意,保存时编码要为ANSI 所以这里需要转换一下 准备自定义表与停词表 例如 同时,点击快速分析后,将会弹出网络图 对网络图进行设置 对布局进行设置 对节点、边进行设置 最终效果图 修改 情感分析

积一时之步,臻千里之遥程 9万+

Android_三种常用Menu菜单(附源码)

浅浅记录一下我写菜单的代码,我写了一共有三种菜单,从常用到不常用。

https://blog.youkuaiyun.com/qFAFAF 3385

SRE校招面试全攻略:从基础理论到实战场景解析

本文为SRE(站点可靠性工程)校招面试提供全面攻略,涵盖计算机基础、运维核心技能、场景设计与系统架构等关键模块。文章结合真实面试真题,解析了从Linux原理、网络协议到容器化、监控告警等实战考点,并分享了高可用设计、故障排查等工程思维,旨在帮助应届生夯实基础、理清思路,从容应对SRE校招挑战。

bush的博客 644

Android Menu菜单的设定

菜单主要分为三类,选项菜单(Option Menu)、上下文菜单(Context Menu)和子菜单(Sub Menu)。

shanhe_yuchuan的博客 1886

西门子AI面试问答(STAR法则回答实例)

通过建立良好的沟通渠道、倡导透明和积极的沟通,并建立信任和共享目标的文化,我成功地改善了团队合作的氛围和效果。对于一些存在分歧和冲突的情况,我采用了积极的解决问题的态度,促进双方的沟通和理解,寻找共同的利益点和解决方案。我的成果得到了评委和观众的认可,并为我的学术发展和进一步的科学研究奠定了基础。首先,我主动与团队成员进行一对一的沟通,倾听他们的观点和意见,了解他们在合作中遇到的问题和需求。我还参加了学校组织的科学俱乐部和研究小组,与其他热衷科学的同学一起进行讨论和实验,加深我的理解和实践技能。

kashine的博客 7249

智能车图像处理5-入门级分析4 ---环岛的状态机与补线

PS :入门级文章适合新手,如果已经有基础可以去看进阶篇文章。

taiyuezyh的博客 8244

Android之创建选项菜单

1.在桌面程序中,菜单的应用非常广泛,但是在安卓手机开发中减少了菜单的使用,不过在安卓中提供了两种实现菜单的方法,一种是用Java代码创建菜单,一种是使用菜单资源文件创建菜单,在这里推荐第二种,使用菜单资源文件来定义和创建菜单,因为这样便于管理维护,并有效减少了java文件的代码量,在资源文件定义便于修改和实现国际化的菜单。 2.接下来新建一个安卓项目,项目名为MenuTest,创建完成后。

茕夜 1440

算法 | 基于灰狼优化算法的无人机三维路径规划方法研究(附matlab代码)

针对复杂环境下的无人机三维路径规划问题,本文提出一种基于灰狼优化算法(Grey Wolf Optimizer, GWO)的解决方案。通过模拟灰狼群体的社会等级与协作捕猎机制,结合动态参数调整策略,优化路径长度与避障性能。实验表明,相较于粒子群优化(PSO)和遗传算法(GA),GWO算法在收敛速度与路径成本上分别提升约25%和18%,且在三维城市地形中表现出更强的避障鲁棒性。本文提供完整的MATLAB代码实现,为无人机自主导航提供理论与技术支撑。

尘世冰封的专栏 287

安卓 创建一个选项菜单的方法和步骤:

创建一个选项菜单的步骤:   第一种方法: 1、   覆盖Activity的onCreateOptionsMenu(Menumenu)函数 2、调用menu的add()方法添加菜单项(MenuItem),可以调用MenuItem的setIcon()方法来为菜单设置图标 3、当菜单项()被选择时,我们可以通过覆盖Activity的onOptionsItemSeleted()方法来响应事件

叶子一哥 5914

LinePhone3.2.7(android端最新版本) sip客户端

SIP客户端For android:LinePhone3.2.7(最新版本),官网地址:http://www.linphone.org/

最新的sdio 4.0 spec 协议标准 带书签 高清完整PDF版

Part-E1-SDIO-Specification-Ver4.00-Final-120220.pdf:最新的sdio 4.0 spec 协议标准 带书签 高清完整PDF版,包括SDIO 接口的外设,SDIO 接口官方协议等。

Android选项菜单(OptionMenu)的创建

一

qq_43359613的博客 8305

老版QQ原生表情gif动态

这是老版的QQ表情,不过全是动态的的,Windows照片查看器是不会动的,可以右击用浏览器打开查看,再说一遍是老版的,只是分享给宁愿用老版也要动态的人。

Android创建一个选项菜单

package com.example.menu;import android.os.Bundle; import android.support.v7.app.AppCompatActivity; import android.view.Menu; import android.view.MenuItem; import android.widget.Toast;/** * 创建一个选项菜单

zhu6201976的博客 7万+

Android创建并响应选项菜单

创建options menu 之前提到,Android的activity已经为我们提前创建好了android.view.Menu对象,并提供了回调方法onCreateOptionsMenu(Menumenu)供我们初始化菜单的内容。该方法只会在选项菜单第一次显示的时候被执行,如果你需要动态改变选项菜单的内容,请使用onPrepareOptionsMenu(Menu)。 @Ov...

weixin_30291791的博客 170

Android Studio创建选项菜单

package com.example.a1108; import androidx.appcompat.app.AppCompatActivity; import android.os.Bundle; import android.view.Menu; import android.view.MenuInflater; public class MainActivity extends AppCompatActivity { @Override protected void onC.

小九九(●'◡'●) 3797

Android菜单详解(二)——创建并响应选项菜单

创建options menu 之前提到,Android的activity已经为我们提前创建好了android.view.Menu对象,并提供了回调方法onCreateOptionsMenu(Menu menu)供我们初始化菜单的内容。该方法只会在选项菜单第一次显示的时候被执行,如果你需要动态改变选项菜单的内容,请使用 onPrepareOptionsMenu(Menu)。  

范二er 615

Android入门之两种方法实现选项菜单和上下文菜单的创建(一)

Android入门之两种方法实现选项菜单和上下文菜单的创建(一)

派大星子的博客 2133

如何在Android中用Java创建带有复选框的选项菜单

Android菜单是每个现代android应用程序中最重要的组件之一,它提供了一种允许开发人员显示某些功能的方法,例如设置、搜索、关于应用程序等。选项菜单是可用的菜单类型之一安卓。它位于某些android应用程序的工具栏上。选项菜单可能更复杂,并且可能需要额外的组件来执行某些功能。单选按钮、复选框等组件可以与菜单布局一起使用。但是,在本教程中,我们将构建一个带有多个复选框的深色选项菜单。本教程将分为五(5)个步骤,以便于理解和指导。它将用于向我们的菜单添加样式的属性。;和。这个。...

Android_XG的博客 848

Android入门之两种方法实现选项菜单和上下文菜单的创建(二)

Android入门之两种方法实现选项菜单和上下文菜单的创建(二)

派大星子的博客 1303

Android——选项菜单的创建

前言: 在手机app中,有时候我们需要设置大量的菜单选项,如果直接在UI中显示出来会占用原本就不大的屏幕空间,导致app可用于显示信息的空间减少,降低了用户体验。这时,就需要用到menu控件了。menu控件用于显示应用程序的自定义菜单选项,一般位于app顶栏的右上角,在用户不需要使用到菜单选项的时候menu处于关闭状态,只会占用一个图标的空间,极大地提高了屏幕利用率和用户体验。 步骤: 下面...

qq_39790633的博客 3468
上一篇: 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、付费专栏及课程。

余额充值