Menu的实例(多级菜单)

本文介绍了一个Android应用程序中如何实现自定义的上下文菜单。通过示例代码详细展示了如何创建菜单项、设置快捷键和图标,并处理不同菜单项的点击事件。文章还提到当菜单项超过六个时,会有一个“更多”选项来容纳额外的菜单项。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

menu的菜单项是根据你的布局中超过六个都显示五个然后一个是现在在more(更多)中的来分级的。

package com.android.activity; import android.app.Activity; import android.os.Bundle; import android.view.Menu; import android.view.MenuItem; import android.widget.Toast; public class TestMenu extends Activity { /** Called when the activity is first created. */ @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); } @Override public boolean onCreateOptionsMenu(Menu menu) { super.onCreateOptionsMenu(menu); getMenuInflater().inflate(R.menu.message_view_option, menu); return true; } @Override public boolean onOptionsItemSelected(MenuItem item) { switch (item.getItemId()) { case R.id.delete: Toast.makeText(this, "delete", Toast.LENGTH_SHORT).show(); break; case R.id.reply: Toast.makeText(this, "reply", Toast.LENGTH_SHORT).show(); break; case R.id.reply_all: Toast.makeText(this, "reply_all", Toast.LENGTH_SHORT).show(); break; case R.id.forward: Toast.makeText(this, "forward", Toast.LENGTH_SHORT).show(); break; case R.id.send_alternate: Toast.makeText(this, "send_alternate", Toast.LENGTH_SHORT).show(); break; case R.id.mark_as_unread: Toast.makeText(this, "mark_as_unread", Toast.LENGTH_SHORT).show(); break; case R.id.flag: Toast.makeText(this, "flag", Toast.LENGTH_SHORT).show(); break; case R.id.move: Toast.makeText(this, "move", Toast.LENGTH_SHORT).show(); break; case R.id.copy: Toast.makeText(this, "copy", Toast.LENGTH_SHORT).show(); break; default: return super.onOptionsItemSelected(item); } return true; } } <?xml version="1.0" encoding="utf-8" ?> - <menu xmlns:android="http://schemas.android.com/apk/res/android"> <item android:id="@+id/reply" android:alphabeticShortcut="r" android:title="reply" android:icon="@drawable/ic_menu_reply" /> <item android:id="@+id/reply_all" android:alphabeticShortcut="a" android:title="reply_all" android:icon="@drawable/ic_menu_reply_all" /> <item android:id="@+id/forward" android:alphabeticShortcut="f" android:title="forward" android:icon="@drawable/ic_menu_forward_mail" /> <item android:id="@+id/mark_as_unread" android:alphabeticShortcut="u" android:title="mark_as_unread" android:icon="@drawable/ic_menu_mark" /> <item android:id="@+id/delete" android:alphabeticShortcut="q" android:title="delete" android:icon="@drawable/ic_menu_delete" /> <item android:id="@+id/flag" android:alphabeticShortcut="s" android:title="flag" android:icon="@drawable/ic_menu_forward_mail" /> <item android:id="@+id/send_alternate" android:title="send_alternate" android:icon="@drawable/ic_menu_forward_mail" /> <item android:id="@+id/move" android:title="move" /> <item android:id="@+id/copy" android:title="copy" /> </menu>

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值