src 中的 MainActivity:
public class MainActivity extends Activity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
registerForContextMenu(findViewById(R.id.imageView1));
registerForContextMenu(findViewById(R.id.textView1));
}
private static final int MENU_SHARE_ID = 100;
private static final int MENU_SAVE_ID = 200;
private static final int MENU_OPEN_ID = 300;
private static final int MENU_FIND_ID = 400;
@Override
public void onCreateContextMenu(ContextMenu menu, View v,
ContextMenuInfo menuInfo) {
switch(v.getId()){
case R.id.imageView1:
menu.add(Menu.NONE,MENU_SHARE_ID,1,"保存");
menu.add(Menu.NONE,MENU_SAVE_ID,2,"共享");
break;
case R.id.textView1:
menu.add(Menu.NONE,MENU_OPEN_ID,1,"打开");
menu.add(Menu.NONE,MENU_FIND_ID,2,"查看");
break;
}
super.onCreateContextMenu(menu, v, menuInfo);
}
@Override
public boolean onContextItemSelected(MenuItem item) {
switch(item.getItemId()){
case MENU_SAVE_ID:
Toast.makeText(this, "保存图片", Toast.LENGTH_SHORT).show();
break;
case MENU_SHARE_ID:
Toast.makeText(this, "共享图片", Toast.LENGTH_SHORT).show();
break;
case MENU_OPEN_ID:
Toast.makeText(this, "打开文字", Toast.LENGTH_SHORT).show();
break;
case MENU_FIND_ID:
Toast.makeText(this, "查看文字", Toast.LENGTH_SHORT).show();
break;
}
return super.onContextItemSelected(item);
}
}
layout 中的 activity_main.xml:
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:paddingBottom="@dimen/activity_vertical_margin"
android:paddingLeft="@dimen/activity_horizontal_margin"
android:paddingRight="@dimen/activity_horizontal_margin"
android:paddingTop="@dimen/activity_vertical_margin"
tools:context=".MainActivity" >
<TextView
android:id="@+id/textView1"
android:layout_below="@+id/imageView1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textSize="32sp"
android:layout_centerHorizontal="true"
android:text="ContextMenu" />
<ImageView
android:id="@+id/imageView1"
android:layout_width="150dp"
android:layout_height="150dp"
android:layout_centerHorizontal="true"
android:layout_centerVertical="true"
android:src="@drawable/ic_launcher" />
</RelativeLayout>