Android中的设置按钮:长按或点击菜单键
1.长按选项:
布局文件:
实现过程:
private ListView list;
private TextView lv;
String[] str = { "TextView", "EditView", "Toast(消息框)" };
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_menu);
list = (ListView) findViewById(R.id.menulist);
ArrayAdapter arr = new ArrayAdapter(this,
android.R.layout.simple_list_item_, str);
list.setAdapter(arr);
list.setonCreateContextMenuListener(new onCreateContextMenuListener() {
@Override
public void onCreateContextMenu(ContextMenu menu, View v,
ContextMenuInfo menuInfo) {
menu.clear();
menu.clearHeader();
menu.setHeaderIcon((R.drawable.ic_launcher));
menu.setHeaderTitle("我是ListView");
menu.add(, , , "删除");
menu.add(, , , "修改");
}
});
// 第一种方法
TextView tv = (TextView) findViewById(R.id.menutext);
this.registerForContextMenu(tv);
// 第二种方法
lv = (TextView) findViewById(R.id.menutext);
lv.setonCreateContextMenuListener(new onCreateContextMenuListener() {
@Override
public void onCreateContextMenu(ContextMenu menu, View v,
ContextMenuInfo menuInfo) {
menu.setHeaderTitle("长度-ContextMenu");
menu.add(, , , "复制");
SubMenu sb = menu.addSubMenu("查找");
sb.add(, , , "按id查找");
sb.add(, , , "按名称查找");
}
});
}
2.长按菜单项:
private ListView list;
private TextView lv;
String[] str = { "TextView", "EditView", "Toast(消息框)" };
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_menu);
list = (ListView) findViewById(R.id.menulist);
ArrayAdapter arr = new ArrayAdapter(this,
android.R.layout.simple_list_item_, str);
list.setAdapter(arr);
list.setonCreateContextMenuListener(new onCreateContextMenuListener() {
@Override
public void onCreateContextMenu(ContextMenu menu, View v,
ContextMenuInfo menuInfo) {
menu.clear();
menu.clearHeader();
menu.setHeaderIcon((R.drawable.ic_launcher));
menu.setHeaderTitle("我是ListView");
menu.add(, , , "删除");
menu.add(, , , "修改");
}
});
// 第一种方法
TextView tv = (TextView) findViewById(R.id.menutext);
this.registerForContextMenu(tv);
// 第二种方法
lv = (TextView) findViewById(R.id.menutext);
lv.setonCreateContextMenuListener(new onCreateContextMenuListener() {
@Override
public void onCreateContextMenu(ContextMenu menu, View v,
ContextMenuInfo menuInfo) {
menu.setHeaderTitle("长度-ContextMenu");
menu.add(, , , "复制");
SubMenu sb = menu.addSubMenu("查找");
sb.add(, , , "按id查找");
sb.add(, , , "按名称查找");
}
});
}
下面给大家补充点Menu的基本用法
使用xml定义Menu
菜单资源文件必须放在res/menu目录中。菜单资源文件必须使用



