目前还没有整理,只是把代码弄上来。

package com.mediatek.uidemo;

import android.app.Activity;
import android.os.Bundle;
import android.view.ContextMenu;
import android.view.ContextMenu.ContextMenuInfo;
import android.view.Menu;
import android.view.MenuItem;
import android.view.SubMenu;
import android.view.View;
import android.widget.Button;
import android.widget.TextView;
import android.widget.Toast;

public class MenuActivity extends Activity {

public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
this.setContentView(R.layout.menu);
Button menuButton1 = (Button) findViewById(R.id.contextMenuButton1);
this.registerForContextMenu(menuButton1);
Button menuButton2 = (Button) findViewById(R.id.contextMenuButton2);
this.registerForContextMenu(menuButton2);

}

@Override
public boolean onCreateOptionsMenu(Menu menu) {
// TODO Auto-generated method stub

menu.add(1, 1, 1, "111first").setOnMenuItemClickListener(new MenuItemClickListener());
menu.add(1, 2, 2, "122second");
menu.add(1, 3, 3, "211third");
menu.add(1, 4, 4, "311forth");
SubMenu subMenu = menu.addSubMenu(2, 1, 1, "桃子" );
subMenu.add(2, 101, 103, "大桃子");
subMenu.add(2, 102, 102, "小桃子").setOnMenuItemClickListener(new MenuItemClickListener());

return super.onCreateOptionsMenu(menu);
}

public class MenuItemClickListener implements MenuItem.OnMenuItemClickListener {

@Override
public boolean onMenuItemClick(MenuItem item) {
Toast.makeText(MenuActivity.this, item.getTitle()+ " is selected", Toast.LENGTH_SHORT).show();

return true; //true表示完成当前item的click处理,不再传递到父类处理 }
}
}
@Override
public void onCreateContextMenu(ContextMenu menu, View v,
ContextMenuInfo menuInfo) {
// TODO Auto-generated method stub
if (v.getId() == R.id.contextMenuButton1) {
menu.setHeaderTitle("button1 menu");
menu.add(300, 300, 300, "context menu1").setOnMenuItemClickListener(new MenuItemClickListener());
menu.add(300, 301, 301, "context menu2").setOnMenuItemClickListener(new MenuItemClickListener());
SubMenu subMenu = menu.addSubMenu(2, 1, 1, "桃子" );
subMenu.add(2, 101, 103, "大桃子").setOnMenuItemClickListener(new MenuItemClickListener());
subMenu.add(2, 102, 102, "小桃子").setOnMenuItemClickListener(new MenuItemClickListener());
} else {
menu.setHeaderTitle("button2 menu");
menu.add(301, 300, 300, "context menu21").setOnMenuItemClickListener(new MenuItemClickListener());
menu.add(301, 301, 301, "context menu22").setOnMenuItemClickListener(new MenuItemClickListener());
}
super.onCreateContextMenu(menu, v, menuInfo);
}

@Override
public boolean onMenuItemSelected(int featureId, MenuItem item) {
// TODO Auto-generated method stub
TextView tv = (TextView) findViewById(R.id.menuTextView2);

switch(item.getItemId()) {
case 4:
Toast.makeText(MenuActivity.this, item.getTitle()+ " is selected,item id is 4!", Toast.LENGTH_LONG).show();
break;
case 400:
tv.setText("another UI");
break;
case 401:
tv.setText("Menu UI");
break;
default:
Toast.makeText(MenuActivity.this, item.getTitle()+ " is selected,item id is not 4!!", Toast.LENGTH_LONG).show();
break;
}
return super.onMenuItemSelected(featureId, item);
}

@Override
public boolean onPrepareOptionsMenu(Menu menu) {
// TODO Auto-generated method stub
TextView tv = (TextView) findViewById(R.id.menuTextView2);
String currentText = tv.getText().toString();
if("Menu UI".equals(currentText)){
menu.clear();//先清掉菜单

MenuItem item = menu.add(0, 400, 401, "to another UI");
//可以通过点击这个菜单项来改变tv1的值这样(变成N)就可以测试了
item.setIcon(android.R.drawable.alert_dark_frame);//android自带的图标
}
if("another UI".equals(currentText)){
menu.clear();//先清掉菜单
MenuItem item = menu.add(0, 401, 402, "to Menu UI");
//可以通过点击这个菜单项来改变tv1的值这样(变成M)就可以测试了
item.setIcon(android.R.drawable.alert_light_frame);
}
menu.add(0, 402, 403, "Now is " + currentText);
//现在共有两个菜单子项
return super.onPrepareOptionsMenu(menu);
}

}

更多相关文章

  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. 【Android】在开发项目的时候,利用Android
  2. Android事件分发机制详解:史上最全面、最
  3. 2020年Android发展趋势年度总结
  4. Android(安卓)TextView属性大全
  5. Android(安卓)中intent传递序列化信息(传
  6. Android(安卓)文件的保存与读取之SDCard(S
  7. android内存泄露
  8. Android中的消息机制
  9. android getResources的作用
  10. ❤️【Android精进之路-04】Android核心组