安卓开发复习笔记——Menu菜单组件(选项菜单,上下文菜单,子菜单)

本文详细介绍了Android中的三种菜单:选项菜单、上下文菜单和子菜单的使用方法。通过代码示例展示了如何动态生成菜单,包括设置菜单项、响应菜单事件。同时,解释了上下文菜单的触发方式及其在ListView中的应用。
摘要由CSDN通过智能技术生成

菜单是用户界面中最常见的元素之一,使用非常频繁,在Android中,菜单被分为如下三种,选项菜单(OptionsMenu)、上下文菜单(ContextMenu)和子菜单(SubMenu)。

菜单的实现方式有2种:一种是通过布局文件xml生成菜单,另一种是通过代码生成。

三种菜单内容有点多,不过大体相似,一次性讲完吧,本人偏好代码动态生成,下面就以代码为例。

 

1、选项菜单(OptionsMenu)

先来看下选项菜单的效果图:

 

在一个Activity界面中点击手机Menu键,在屏幕下方弹出的菜单就叫选项菜单(OptionsMenu)。

 

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

先来了解下主要的方法:

复制代码
1   public boolean onCreateOptionsMenu(Menu menu)://使用此方法调用OptionsMenu 。
2 
3   public boolean onOptionsItemSelected(MenuItem item)://选中菜单项后发生的动作。
4 
5   public void onOptionsMenuClosed(Menu menu): //菜单关闭后发生的动作。
6 
7   public boolean onPrepareOptionsMenu(Menu menu)://选项菜单显示之前onPrepareOptionsMenu方法会被调用,你可以用此方法来根据打当时的情况调整菜单。
8 
9   public boolean onMenuOpened(int featureId, Menu menu)://单打开后发生的动作。
复制代码

下面来看个小Demo,注释很全。

复制代码
 1 package com.example.menutest;
 2 
 3 import android.app.Activity;
 4 import android.content.Intent;
 5 import android.os.Bundle;
 6 import android.view.Menu;
 7 import android.view.MenuItem;
 8 import android.widget.Toast;
 9 
10 /**
11  * 
12  * @author Balla_兔子
13  * 用代码动态生成菜单(选项菜单)
14  *
15  */
16 public class MainActivity extends Activity {
17 
18     @Override
19     protected void onCreate(Bundle savedInstanceState) {
20         super.onCreate(savedInstanceState);
21         setContentView(R.layout.activity_main);
22     }
23     
24     @Override
25     //onCreateOptionsMenu()此方法只会调用一次,即第一次显示的时候会调用.
26     public boolean onCreateOptionsMenu(Menu menu) {
27 //
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值