ContextMenu的使用

来源:互联网 发布:e5 v3cpu 淘宝店推荐 编辑:程序博客网 时间:2024/05/19 08:41

Android除了可以通过菜单键弹出OptionsMenu外,还可以长按某个控件来弹出ContextMenu。比如EditeText就可以通过长按来弹出拥有“cut”,”copy”,”paste”等项的ContextMenu。
ContextMenu和OptionsMenu相比主要有以下区别:
1,ContextMenu必须通过Activity的registerForContextMenu(View)来进行注册,而OptionsMenu不用。
2,ContextMenu不支持icon,而OptionsMenu支持。
3,ContextMenu可以有头,可以通过setHeaderIcon,setHeaderTitle,setHeaderView来设置头,否则就没有头。
4,弹出的方式不一样。
使用ContextMenu主要需要重载Activity的以下函数:

public void onCreateContextMenu (ContextMenu menu, View v, ContextMenu.ContextMenuInfo menuInfo)public void onContextMenuClosed (Menu menu)public boolean onContextItemSelected (MenuItem item)

注意事项:ContextMenu的任何项在被选中后,整个ContextMenu会自动被系统关闭掉,即使多选项也是这样。这样的话,多选项的行为就有些怪异。

0 0
原创粉丝点击