Menu菜单方法

示例:xml代码:

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:orientation="vertical"
    android:background="#ffffff" >
    <EditText
        android:id="@+id/txt"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:text="添加菜单与子菜单" />
</LinearLayout>
java代码:

package com.example8.www;

import android.app.Activity;
import android.graphics.Color;
import android.os.Bundle;
import android.view.Menu;
import android.view.MenuItem;
import android.view.SubMenu;
import android.widget.EditText;
import android.widget.Toast;

public class MenuExampleActivity extends Activity {
	//定义字体大小的标示
	final int FONT_9 = 0x111;
	final int FONT_11 = 0x112;
	final int FONT_13 = 0x113;
	final int FONT_15 = 0x114;
	final int FONT_17 = 0x115;
	//定义普通菜单项标示符
	final int PLAIN_ITEM = 0x11b;
	//定义字体颜色菜单项的标示符
	final int FONT_BLUE = 0x116;
	final int FONT_YELLOW = 0x117;
	final int FONT_RED = 0x118;
	private EditText edit;
	
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);
        edit = (EditText)findViewById(R.id.txt);
    }
    @Override
    public boolean onCreateOptionsMenu(Menu menu){
    	//向Menu中添加字体大小的子菜单
    	SubMenu fontMenu = menu.addSubMenu("字体大小");
    	//设置菜单的图标
    	fontMenu.setIcon(R.drawable.tp_1);
    	//设置菜单头的图标
    	fontMenu.setHeaderIcon(R.drawable.tp_2);
    	//设置菜单头的标题
    	fontMenu.setHeaderTitle("选择字体大小");
    	fontMenu.add(0,FONT_9,0,"9号字体");
    	fontMenu.add(0,FONT_11,0,"11号字体");
    	fontMenu.add(0,FONT_13,0,"13号字体");
    	fontMenu.add(0,FONT_15,0,"15号字体");
    	fontMenu.add(0,FONT_17,0,"17号字体");
    	//向menu中添加普通菜单项
    	menu.add(0,PLAIN_ITEM,0,"普通菜单项");
    	//向menu添加文字颜色菜单项
    	SubMenu colorMenu = menu.addSubMenu("字体颜色");
    	colorMenu.setIcon(R.drawable.tp_2);
    	//设置菜单头的标题
    	colorMenu.setHeaderTitle("文字颜色");
    	colorMenu.add(0,FONT_BLUE,0,"蓝色");
    	colorMenu.add(0,FONT_YELLOW,0,"黄色");
    	colorMenu.add(0,FONT_RED,0,"红色");
		return super.onCreateOptionsMenu(menu);
		//菜单项被单击后的回调方法	
    }
    @Override  
	public boolean onOptionsItemSelected(MenuItem im) {  
	    switch(im.getItemId()){
	    case FONT_9:
	    	edit.setTextSize(9*2);
	    	break;
	    case FONT_11:
	    	edit.setTextSize(11*2);
	    	break;
	    case FONT_13:
	    	edit.setTextSize(13*2);
	    	break;
	    case FONT_15:
	    	edit.setTextSize(15*2);
	    	break;
	    case FONT_17:
	    	edit.setTextSize(17*2);
	    	break;
	    case FONT_BLUE:
	    	edit.setTextColor(Color.BLUE);
	    	break;
	    case FONT_YELLOW:
	    	edit.setTextColor(Color.YELLOW);
	    	break;
	    case FONT_RED:
	    	edit.setTextColor(Color.RED);
	    	break;
	    case PLAIN_ITEM:
	    	Toast.makeText(MenuExampleActivity.this,"你单击了菜单项",Toast.LENGTH_LONG).show();	
	    }  
	    return true;
	}
    @Override
    public void onOptionsMenuClosed(Menu menu){
    	Toast.makeText(getApplicationContext(), "菜单已关闭",Toast.LENGTH_LONG).show();
    	super.onOptionsMenuClosed(menu);
    }
}
知识点:1.创建菜单步骤:重新onCreateOptionsMenu(Menu menu)方法并在其中进行以下步骤:

a.SubMenu subMenu1 = menu.addSubMenu("要创建的菜单名称1")

b.使用subMenu1.add(int groupId,int itemId,int order,charAequence title)添加子菜单,例如上例。itemId是该子菜单的唯一标示符,以后操作该菜单要用到。

c.重复a.b添加其他菜单项

2.onOptionsItemSelected方法:该方法用于设置当选项菜单被选中时执行的操作

3.onOptionsItemClosed方法:设置当菜单被关闭或退出时的执行操作
4.MenuItem菜单常用方法:

a.setIcon方法:设置菜单显示的图标

b.setAlphabeticShortCut方法:设置字母快捷键

d.setNumericShortCut方法:设置数字快捷键

e.setshortcut方法:设置字母+数字快捷键

f.setOnMenuItemClickListener方法:用于设置菜单项单击监听器

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值