android menu 详解及实例

MenuActivity.java 代码

package com.canuuu_client.activity;

import android.app.Activity;
import android.os.Bundle;
import android.view.Menu;
import android.view.MenuItem;
import android.widget.Toast;

public class MenuActivity extends Activity {

 @Override
 protected void onCreate(Bundle savedInstanceState) {
  // TODO Auto-generated method stub
  super.onCreate(savedInstanceState);
  setContentView(R.layout.loginactivity);
 }
 
 //创建menu,Activity调用onCreateOptionsMenu(Menu menu)方法,传一个Menu接口的menu对象,供使用
 @Override
 public boolean onCreateOptionsMenu(Menu menu) {
  /**
   *  menu.add()里面有四个参数一次是:
   *  第一个:组别
   *  第二个:id。 是menu识别编号,供识别menu用的。很重要
   *  第三个:顺序。这个参数的大小决定菜单出现的先后顺序。顺序是参数由小到大,菜单是从左到右
   *          从上到下排列。一行最多三个
   *  第四个:显示文本
   */
  
  menu.add(0,Menu.FIRST,0,"添加").setIcon(android.R.drawable.ic_menu_add);
  menu.add(0,Menu.FIRST+1,1,"保存").setIcon(android.R.drawable.ic_menu_save);
  menu.add(0,Menu.FIRST+2,2,"发送").setIcon(android.R.drawable.ic_menu_send);
  menu.add(0,Menu.FIRST+3,3,"详细").setIcon(android.R.drawable.ic_menu_info_details);
  menu.add(0,Menu.FIRST+4,4,"删除").setIcon(android.R.drawable.ic_menu_delete);
  menu.add(0,Menu.FIRST+5,5,"帮助").setIcon(android.R.drawable.ic_menu_help);
  
  //只有返回True才会起作用
  return true;
 }

 //菜单项选择事件
 @Override
 public boolean onOptionsItemSelected(MenuItem item) {
  switch (item.getItemId()) {
  case Menu.FIRST:
   Toast.makeText(this, "添加菜单被点击了", Toast.LENGTH_SHORT).show();
   break;
  case Menu.FIRST+1:
   Toast.makeText(this, "保存菜单被点击了", Toast.LENGTH_SHORT).show();
   break;
  case Menu.FIRST+2:
   Toast.makeText(this, "发送菜单被点击了", Toast.LENGTH_SHORT).show();
   break;
  case Menu.FIRST+3:
   Toast.makeText(this, "详细菜单被点击了", Toast.LENGTH_SHORT).show();
   break;
  case Menu.FIRST+4:
   Toast.makeText(this, "删除菜单被点击了", Toast.LENGTH_SHORT).show();
   break;
  case Menu.FIRST+5:
   Toast.makeText(this, "帮助菜单被点击了", Toast.LENGTH_SHORT).show();
   break;
  }
  return false;
 }

 //菜单被显示之前的事件
 @Override
 public boolean onPrepareOptionsMenu(Menu menu) {
  Toast.makeText(this, "菜单被显示之前的事件,可以再这里调整菜单", Toast.LENGTH_LONG).show();
  //必须返回true才能调用onCreateOptionsMenu(Menu menu)方法
  return true;
 }

 //选择菜单的关闭事件
 //有三种关闭方式,menu按钮再被点击,back按钮被点击,用户选择另一个菜单项
 @Override
 public void onOptionsMenuClosed(Menu menu) {
  Toast.makeText(this, "菜单被关闭了", Toast.LENGTH_SHORT).show();
 }

 

 

 

 

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值