当前位置: 老葡京网站娱乐 > 操作系统 > 手机系统 > 正文

Android简明开发教程十四:Context Menu绘制几何图形

时间:2013-01-25 csdn mapdigit

老葡京网站娱乐 www.sdguanhua.com 上下文相关菜单(Context Menu)类同PC上按鼠标右键显示的菜单,在Android平台上是长按来激活Context Menu,Context Menu一般用来显示和当前UI内容相关的菜单。

Context Menu的用法和Option Menu非常类似:

首先是创建 菜单资源,在res/menu 下新建menu_context_shape.xml,用来显示Oval,Pear,Shape2D:

<?xml version=”1.0″ encoding=”utf-8″?>
<menu
xmlns:android=”http://schemas.android.com/apk/res/android“>
<item
android:id=”@+id/mnuOval”
android:title=”Oval”>
</item>
<item
android:id=”@+id/mnuPear”
android:title=”Pear”>
</item>
<item
android:id=”@+id/mnuShape2DDemo”
android:title=”Shape2D”>
</item>
</menu>

展开Context Menu,是通过onCreateContextMenu 方法:

@Override
public void onCreateContextMenu(ContextMenu menu, View v,
ContextMenuInfo menuInfo) {
super.onCreateContextMenu(menu, v, menuInfo);
MenuInflater inflater = getMenuInflater();
inflater.inflate(R.menu.menu_context_shape, menu);
}

处理Context Menu事件:

@Override
public boolean onContextItemSelected(MenuItem item) {
menuOption = item.getItemId();
drawImage();
return super.onContextItemSelected(item);
}

为了在长按时能在View上显示Context Menu,需要为View注册Context Menu:

public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
registerForContextMenu(graphic2dView);
}