显示上下文菜单

作者:追风剑情 发布于:2015-9-24 22:13 分类:Android

视图

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:orientation="vertical"
    tools:context="${relativePackage}.${activityClass}" >

    <TextView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="@string/hello_world" />
    
    <Button 
        android:id="@+id/button1"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:text="Click and hold on it"/>

</LinearLayout>

代码

package com.example.androidtest;

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.View;
import android.widget.Button;
import android.widget.Toast;

public class ContextMenuActivity extends Activity {

	@Override
	protected void onCreate(Bundle savedInstanceState) {
		super.onCreate(savedInstanceState);
		setContentView(R.layout.activity_context_menu);
		
		Button btn = (Button) findViewById(R.id.button1);
		btn.setOnCreateContextMenuListener(this);
	}
	
	@Override
	public void onCreateContextMenu(ContextMenu menu, View view, 
			ContextMenuInfo menuInfo)
	{
		super.onCreateContextMenu(menu, view, menuInfo);
		CreateMenu(menu);
	}
	
	@Override
	public boolean onContextItemSelected(MenuItem item)
	{
		return MenuChoice(item);
	}
	
	private void CreateMenu(Menu menu)
	{
		menu.setQwertyMode(true);//使菜单项的快捷键生效
		
		MenuItem mnu1 = menu.add(0, 0, 0, "Item 1");
		{
			mnu1.setAlphabeticShortcut('a');
			mnu1.setIcon(R.drawable.ic_launcher);
		}
		MenuItem mnu2 = menu.add(0, 1, 1, "Item 2");
		{
			mnu2.setAlphabeticShortcut('b');
			mnu2.setIcon(R.drawable.ic_launcher);
		}
		MenuItem mnu3 = menu.add(0, 2, 2, "Item 3");
		{
			mnu3.setAlphabeticShortcut('c');
			mnu3.setIcon(R.drawable.ic_launcher);
		}
		MenuItem mnu4 = menu.add(0, 3, 3, "Item 4");
		{
			mnu4.setAlphabeticShortcut('d');
		}
		menu.add(0, 4, 4, "Item 5");
		menu.add(0, 5, 5, "Item 6");
		menu.add(0, 6, 6, "Item 7");
	}
	
	private boolean MenuChoice(MenuItem item)
	{
		switch(item.getItemId())
		{
		case 0:
			Toast.makeText(this, "You clicked on Item 1", 
					Toast.LENGTH_SHORT).show();
			return true;
		case 1:
			Toast.makeText(this, "You clicked on Item 2", 
					Toast.LENGTH_SHORT).show();
			return true;
		case 2:
			Toast.makeText(this, "You clicked on Item 3", 
					Toast.LENGTH_SHORT).show();
			return true;
		case 3:
			Toast.makeText(this, "You clicked on Item 4", 
					Toast.LENGTH_SHORT).show();
			return true;
		case 4:
			Toast.makeText(this, "You clicked on Item 5", 
					Toast.LENGTH_SHORT).show();
			return true;
		case 5:
			Toast.makeText(this, "You clicked on Item 6", 
					Toast.LENGTH_SHORT).show();
			return true;
		case 6:
			Toast.makeText(this, "You clicked on Item 7", 
					Toast.LENGTH_SHORT).show();
			return true;
		}
		return false;
	}
}

运行效果

mmmm1.pngm2.png

标签: Android

Powered by emlog  蜀ICP备18021003号-1   sitemap

川公网安备 51019002001593号