(Menu)android中菜单的使用方法
android中手机往往都有“Menu”键,当点击之后会在屏幕下方显示系统的菜单。一个菜单中包括多个菜单项(MenuItem),在一个菜单中最多只会显示两行散列的菜单项,如果菜单项超过了六个,超过的会自动隐藏,会出现更多提示用户
在android中菜单一共分为三种:选项菜单(OptionsMenu)、上下文菜单(ContextMenu)、和子菜单(SubMenu).
一:选项菜单
这个暂时不需要配置文件
只需在Activity中进行完成
package com.qn.menu;
import android.app.Activity;
import android.os.Bundle;
import android.view.Menu;
import android.view.MenuItem;
import android.widget.Toast;
public class MainActivity extends Activity {
@Override
public void
onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
super.setContentView(R.layout.main);
}
@Override
public boolean onCreateOptionsMenu(Menu menu)
{//设置多个菜单项menu.add(Menu.NONE,
Menu.FIRST+1, 5, "删除")
.setIcon(android.R.drawable.ic_menu_delete);
menu.add(Menu.NONE,Menu.FIRST+2,6,"保存")
.setIcon(android.R.drawable.ic_menu_save);
menu.add(Menu.NONE,Menu.FIRST+3,7,"帮助")
.setIcon(android.R.drawable.ic_menu_help);
menu.add(Menu.NONE,Menu.FIRST+4,8,"添加")
.setIcon(android.R.drawable.ic_menu_add);
menu.add(Menu.NONE,Menu.FIRST+5,9,"详情")
.setIcon(android.R.drawable.ic_menu_info_details);
menu.add(Menu.NONE,Menu.FIRST+6,10,"发送")
.setIcon(android.R.drawable.ic_menu_send);
menu.add(Menu.NONE,Menu.FIRST+7,11,"编辑")
.setIcon(android.R.drawable.ic_menu_edit);
return true;
}
@Override
public boolean onOptionsItemSelected(MenuItem
item) {//判断菜单项的操作switch (item.getItemId())
{
case Menu.FIRST+1:
Toast.makeText(MainActivity.this,
"您选择了删除", Toast.LENGTH_SHORT).show();
break;
case Menu.FIRST+2:
Toast.makeText(MainActivity.this,
"您选择了保存", Toast.LENGTH_SHORT).show();
break;
case Menu.FIRST+3:
Toast.makeText(MainActivity.this,
"您选择了帮助", Toast.LENGTH_SHORT).show();
break;
case Menu.FIRST+4:
Toast.makeText(MainActivity.this,
"您选择了添加", Toast.LENGTH_SHORT).show();
break;
case Menu.FIRST+5:
Toast.makeText(MainActivity.this,
"您选择了详情", Toast.LENGTH_SHORT).show();
break;
case Menu.FIRST+6:
Toast.makeText(MainActivity.this,
"您选择了发送", Toast.LENGTH_SHORT).show();
break;
case Menu.FIRST+7:
Toast.makeText(MainActivity.this,
"您选择了编辑",
Toast.LENGTH_SHORT).show();
break;
}
return false;
}
@Override
public void onOptionsMenuClosed(Menu menu)
{//菜单项关闭触发的操作Toast.makeText(MainActivity.this,
"选项菜单关闭了", Toast.LENGTH_SHORT).show();
}
@Override
public boolean onPrepareOptionsMenu(Menu menu)
{//菜单项显示前触发的操作Toast.makeText(MainActivity.this,
"在菜单显示", Toast.LENGTH_SHORT).show();
return true;
} }
结果
2.上面的菜单项的内容都是固定出现的,根据MVC模式肯定要通过配置文件完成,下面是通过配置文件完成。直接在res/menu/mymenu.xml文件
1.准备好资源配置文件
?xml version="1.0"
encoding="utf-8"?>
android:id="@+id/item01"
android:title="添加"
android:icon="@android:drawable/ic_menu_add"
/> android:id="@+id/item02"
android:title="保存"