阅读更多

Android里面也可用XML定义菜单资源,菜单分两种,一种是OptionMenu(点系统"Menu"键出来),另一种是ContextMenu必须长按才能出来;

 

 

optionMenu菜单的使用

1,创建选项菜单; onCreateOptionsMenu(Menu menu)

//创建选项菜单的方法@Overridepublic boolean onCreateOptionsMenu(Menu menu) {//menu.add(groupId, itemId, order, title) //goupid 菜单项所在组的标示符//itemid 唯一表示的ID//order  菜单栏项的显示顺序//title 菜单项相似的文本MenuItem menu1 = menu.add(0, 0, 0, "item1");menu1.setAlphabeticShortcut('a');//分配快捷键的方法menu1.setIcon(R.drawable.ic_launcher);//设置图标MenuItem menu2 = menu.add(0, 1, 1, "item2");menu1.setAlphabeticShortcut('b');//分配快捷键的方法menu1.setIcon(R.drawable.ic_launcher);//设置图标MenuItem menu3 = menu.add(0, 2, 2, "item3");menu1.setAlphabeticShortcut('c');//分配快捷键的方法menu1.setIcon(R.drawable.ic_launcher);//设置图标//使用简单方式创建三个菜单栏menu.add(0,4,4,"item4");menu.add(0,5,5,"item5");menu.add(0,6,6,"item6");return true;}

 2,添加选项菜单的监听器onOptionsItemSelected(MenuItem item);

@Override//选项菜单的监听器public boolean onOptionsItemSelected(MenuItem item) {//MenuChoice方法接收Menuite方法的一个参数,并检查其ID确定被选中的菜单项int id = item.getItemId();switch (id) {case 0:Toast.makeText(this, "选中item1", 1000).show();break;case 1:Toast.makeText(this, "选中item2", 1000).show();break;case 2:Toast.makeText(this, "选中item3", 1000).show();break;case 4:Toast.makeText(this, "选中item4", 1000).show();break;case 5:Toast.makeText(this, "选中item5", 1000).show();break;case 6:Toast.makeText(this, "选中item6", 1000).show();break;}return false;}



 

 

ContextMenu菜单的使用;

 上下文菜单的使用必须是长按才会出来

     1,定义布局上下文菜单的布局文件menu_contextemnu.xml

<?xml version="1.0" encoding="utf-8"?>                

 

2,定义主配置文件  acticity_main.xml

        

 

3,java类的使用

//上下文菜单的使用public class MainActivity extends Activity{@Overrideprotected void onCreate(Bundle savedInstanceState) {// TODO Auto-generated method stubsuper.onCreate(savedInstanceState);this.setContentView(R.layout.activity_main);//获得按钮Button btn=(Button)this.findViewById(R.id.btn);btn.setOnCreateContextMenuListener(this);//上下文菜单的使用必须要先注册组件this.registerForContextMenu(btn);}      public void onclick(View v){          }@Override//创建上下文菜单public void onCreateContextMenu(ContextMenu menu, View v,ContextMenuInfo menuInfo) {super.onCreateContextMenu(menu, v, menuInfo);  getMenuInflater().inflate(R.layout.menu_contextemnu, menu);  }@Override//创建上下文监听器public boolean onContextItemSelected(MenuItem item) {int id = item.getItemId();switch (id) {case R.id.rename:Toast.makeText(this, "重命名", 1000).show();break;case R.id.dele:Toast.makeText(this, "删除", 1000).show();break;case R.id.detailed:Toast.makeText(this, "详细", 1000).show();break;case R.id.open:Toast.makeText(this, "打开", 1000).show();break;}return false;}}

 


 

 

 

3, 选项菜单和上下文菜单监听器;

 

      onMenuItemSelected可以同时使用在有少量的选项菜单和上下文的情况,下面一个方法就搞定, 如果出现上下文监听器(onContextItemSelected),选项监听器(onOptionsItemSelected) ,onMenuItemSelected  则只会执行onMenuItemSelected  监听器

 @Override // 菜单被选中的时候会执行 public boolean onMenuItemSelected(int featureId, MenuItem item) { // TODO Auto-generated method stub return true; }

 

 

 

 

 

  • 大小: 22.5 KB
  • 大小: 25.2 KB
  • 查看图片附件

更多相关文章

  1. Android之菜单总结
  2. Android学习篇之Menu的使用
  3. TabHost与RadioGroup结合完成的菜单【带效果图】5个Activity
  4. SlidingMenu和ActionBarSherlock结合做出出色的App布局,Facebook
  5. [android]在上下文菜单的选中事件中获取列表选中的元素
  6. android api 中文 (74)—— AdapterView.AdapterContextMenuInfo
  7. Android(安卓)之 下拉框(Spinner)的简单使用
  8. android2.2资源文件详解4--menu文件夹下的菜单定义
  9. Android中onContextItemSelected不响应

随机推荐

  1. Centos6.8下编译安装LAMP的操作记录梳理
  2. 利用 mk-table-checksum 监测 MySQL主从
  3. org.springframework.beans.factory.Bean
  4. Tomcat 内存溢出
  5. 执行git push出现
  6. DenyHosts阻止SSH暴力***
  7. 一文看尽预训练语言模型
  8. centos下部署redis服务环境及其配置说明
  9. 用jQuery的attr()设置option默认选中无效
  10. 一台电脑(服务器)安装2个Mysql