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()方法中的处理事件

知识图谱-Neo4j-开始构建知识图谱-01 关系(Relationships):连接两个节点,具有方向(→ 或 ←)和类型(Type),可附加属性。 属性(Properties):键值对,存储节点或关系的详细信息(如 , )。 (2) Cypher 查询语言 直观语法:通过模式匹配直接描述图结构。 高效遍历:支持复杂关系路径查询(如最短路径、模式匹配)。 3. 核心优势 (1) 原生图存储 物理存储优化:数据以图结构直接存储,避免传统数据库的“表连接”开销。 高效遍历:通过指针直接访问相邻节点,时间复杂度接近 O(1)。 (2) 高性 阅读详情

相关推荐

VNC Viewer建立多个图形界面,来远程访问同一个服务器(Ubuntu)

如题。目前已经有了一个VNC viewer连接,那么如果再开一个图形界面呢? 思路主要是:新建一个用户,从这个用户新建一个vnc连接,然后访问图形界面。

the Blog of 等不到天亮丶等时光 5901

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

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

weixin_42857359的博客 9550

3GPP Release与UE Category:无线通信标准演进与终端能力分级全解析

在蜂窝移动通信领域,技术标准的演进与终端设备的能力分级是理解整个产业发展的核心框架。其基本原理由国际标准组织3GPP通过周期性发布的技术规范版本(Release)来定义,每个Release都像一份阶段性的技术蓝图,规定了网络与终端应支持的新功能与性能基线。这种标准化机制的技术价值在于确保了全球设备的互联互通与网络的平滑升级,为从4G LTE到5G NR乃至未来的演进提供了清晰路径。在这一框架下,终端能力分级(如LTE时代的UE Category)是将标准转化为具体设备性能的关键环节,它直接定义了终端在射频和

weixin_34098209的博客 331

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

【STM32】H743的25MHZ外部晶振下480MHz时钟的CubeMX配置图

备忘 有时候临时调一个外设做实验需要快速搭建工程的时候,老忘记配置的数据 再补一段代码格式的 void SystemClock_Config(void) { RCC_OscInitTypeDef RCC_OscInitStruct = {0}; RCC_ClkInitTypeDef RCC_ClkInitStruct = {0}; RCC_PeriphCLKInitTypeDef PeriphClkInitStruct = {0}; /** Supply configuration up

一只爱做笔记的码农 3395

从实验室到生产线:Qwen3-Omni后训练技术在实际业务中的落地挑战

本文探讨了Qwen3-Omni后训练技术在实际业务中的落地挑战,重点分析了多模态AI在工业应用中的关键问题与解决方案。通过金融风控、跨境电商等场景案例,揭示了通用模型与垂直需求的矛盾,并提供了知识蒸馏、语音合成优化等实战经验,助力企业实现技术到业务的转化。

weixin_29035147的博客 267

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

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

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

基于 SquashFS 构建 Linux 可读写文件系统

嵌入式 Linux 启动过程 本文所描述的的 Linux Image 由 BootLoader、kernel、initrd、rootfs 组成,它们共同存在于一个可以启动的存储设备中(本文以 USB 为例)。组成架构如下: 图 1. 可启动 linux 镜像文件结构 各个模块的作用如下: Boot Loader:由 BIOS 加载,用于将后续的 Kernel 和 initrd 的装载到内存中 kernel:为 initrd 运行提供基础的运行环境 initrd:检测并加载各种驱动程序 ro

wzq2009的专栏 1174

Android Menu菜单的设定

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

shanhe_yuchuan的博客 1886

Rsoft仿真实战:长周期光纤光栅参数优化与模式耦合分析

本文详细介绍了使用Rsoft软件进行长周期光纤光栅(LPFG)参数优化与模式耦合分析的实战方法。通过Rsoft仿真,可以高效优化光栅周期、包层厚度等关键参数,深入分析纤芯模与包层模的耦合特性,为光纤通信和传感应用提供可靠的设计依据。

h0i1j2k3l的博客 1115

弱网、高热、只有 32MB 内存:恶劣环境下嵌入式 SoC 音视频开发的“不死”法则

永远不要假设。你申请一个 1920 宽的图像,硬件为了对齐(比如 16 字节对齐或 256 字节对齐),实际分配的一行可能有 1936 甚至是 2048 字节。那个多出来的部分叫Padding。如果你写代码时用来计算数据量,或者用Width来做指针偏移:恭喜你,你的画面会像被风吹歪的百叶窗一样,产生斜切畸变。永远使用VB_CONF结构体里返回的u32Stride字段。这是区分新手和老手的试金石。第六章 ISP 调优(Tuning)实战:为什么你调出的画面像个“鬼片”?

大模型大数据攻城狮的专栏 1769

Android之创建选项菜单

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

茕夜 1440

华为OD机试 - 不含101的数(Python/JS/C/C++ 双机位C卷 100分)

本专栏收录于《华为OD机试真题(Python/JS/C/C++)》。刷的越多,抽中的概率越大,私信哪吒,备注华为OD,加入华为OD刷题交流群,每一题都有详细的答题思路、详细的代码注释、3个测试用例、为什么这道题采用XX算法、XX算法的适用场景,发现新题目,随时更新。小明在学习二进制时,发现了一类不含101的数,也就是:现在给定一个正整数区间,请问这个区间内包含了多少个不含101的数?输入的唯一一行包含两个正整数。输出的唯一一行包含一个整数,表示在区间内一共有几个不含101的数。8 1668 → “1000”

学Java,找哪吒 1250

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

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

叶子一哥 5914

SAP B1中文培訓教材_SDK

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

TMS_WebGMaps_1.9.8.0_Full_Source

TMS_WebGMaps_1.9.8.0_Full_Source 全源码 delphi cbuilder

Android选项菜单(OptionMenu)的创建

一

qq_43359613的博客 8305

文档:亲测可用解决vnc灰屏,黑屏,鼠标大黑叉情况

主要解决vnc-viewer灰屏,黑屏,鼠标大黑叉等现象,详细见文档。

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万+

ssm框架搭建

这个是一个在idea上成功跑起来的ssm框架项目,保存在这里方便以后使用直接下载

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、付费专栏及课程。

余额充值