Android上下文菜单

<span style="font-size:32px;"><strong> 单<img src="https://img-blog.csdn.net/20160310193653460?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQv/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center" alt="" /><img src="https://img-blog.csdn.net/20160310193717979?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQv/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center" alt="" /></strong></span>
<strong><span style="font-size:32px;">
</span></strong>
<strong><span style="font-size:32px;">1.activity_main.xml</span></strong>

<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="com.example.a.MainActivity" >

    <TextView
        android:id="@+id/textView1"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
       />

    <TextView
        android:id="@+id/file01"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_below="@+id/textView1"
        android:layout_centerHorizontal="true"
        android:text="文件一" />

    <TextView
        android:id="@+id/file02"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
            android:layout_alignLeft="@+id/file01"
        android:layout_below="@+id/file01"
        android:text="文件二" />

    <TextView
        android:id="@+id/file03"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
            android:layout_alignLeft="@+id/file02"
        android:layout_below="@+id/file02"
        android:text="文件三" />

    <TextView
        android:id="@+id/file04"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignLeft="@+id/file03"
        android:layout_below="@+id/file03"
        android:text="文件四" />

</RelativeLayout>
<span style="font-size:32px;">2.</span><span style="font-family: Arial, Helvetica, sans-serif;font-size:32px; font-weight: bold;">main.xml</span><pre name="code" class="java"><span style="font-size:14px;"><menu xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    tools:context="com.example.MainActivity" >

    <item
        android:icon="@drawable/ic_launcher"
        android:showAsAction="always"
        android:title="文件">
        <menu>
            <item
                android:orderInCategory="1"
                android:title="新建"/>
            <item
                android:orderInCategory="0"
                android:title="打开"/>
            <item
                android:orderInCategory="2"
                android:title="保存"/>
            <item
                android:id="@+id/exit"
                android:title="退出"/>
        </menu>
    </item>
    <item
        android:showAsAction="always"
        android:alphabeticShortcut="e"
        android:title="编辑" android:menuCategory="container">
        <menu>
            <item android:title="恢复"/>
            <item android:title="取消"/>

            <group android:enabled="false" >
            </group>
        </menu>
    </item>
    <item
        android:id="@+id/set"
        android:showAsAction="always"
        android:title="设置">
        <menu>
            <item
                android:id="@+id/start"
                android:title="启用"/>
            <item
                android:id="@+id/stop"
                android:enabled="false"
                android:title="禁用"/>
        </menu>
    </item>
    <item
        android:numericShortcut="8"
        android:showAsAction="always"
        android:title="帮助"/>

</menu></span>
3.MainActivity.java
 
<pre name="code" class="java"><span style="font-size:14px;">package com.example.a;

import android.app.Activity;
import android.app.AlertDialog;
import android.content.DialogInterface;
import android.graphics.Color;
import android.os.Bundle;
import android.view.ContextMenu;
import android.view.ContextMenu.ContextMenuInfo;
import android.view.Menu;
import android.view.MenuItem;
import android.view.SubMenu;
import android.view.View;
import android.widget.EditText;
import android.widget.TextView;
import android.widget.Toast;

public class MainActivity extends Activity {
	int num=0;
	
	TextView tView[] = new TextView[4];

	@Override
	protected void onCreate(Bundle savedInstanceState) {
		super.onCreate(savedInstanceState);
		setContentView(R.layout.activity_main);
		int[] files = new int[] { R.id.file01, R.id.file02, R.id.file03, R.id.file04 };
		for (int i = 0; i < tView.length; i++) {
			tView[i] = (TextView) findViewById(files[i]);
			registerForContextMenu(tView[i]);
		}
	}

	@Override
	public boolean onCreateOptionsMenu(Menu menu) {
		// Inflate the menu; this adds items to the action bar if it is present.
		getMenuInflater().inflate(R.menu.main, menu);
		return true;
	}

	@Override
	public boolean onOptionsItemSelected(MenuItem item) {
		// Handle action bar item clicks here. The action bar will
		// automatically handle clicks on the Home/Up button, so long
		// as you specify a parent activity in AndroidManifest.xml.
	String mesString="你选择的是:";
	int count=item.getItemId()-Menu.FIRST;
	  num = count/10;
	
	if(num>10){
		num=num/10;
	}
	
	if(item.getItemId()==(Menu.FIRST+num*10+1)){mesString+="发送";}
	else if(item.getItemId()==(Menu.FIRST+num*10+2)){mesString+="进入颜色设置界面";}
	else if (item.getItemId()==(Menu.FIRST+num*100+21)){tView[num-1].setTextColor(Color.RED);}
	else if (item.getItemId()==(Menu.FIRST+num*100+22)){tView[num-1].setTextColor(Color.BLUE);}
	else if (item.getItemId()==(Menu.FIRST+num*100+23)){tView[num-1].setTextColor(Color.GREEN);}
	else if(item.getItemId()==(Menu.FIRST+num*10+3)){
		final EditText inputname=new EditText(this);
		AlertDialog bDialog=new AlertDialog.Builder(MainActivity.this)
				.setIcon(android.R.drawable.btn_star)
				.setTitle("请输入新名字")
		.setView(inputname)
		.setPositiveButton("确认",new DialogInterface.OnClickListener(){
			public void onClick(DialogInterface dialog,int which){
				tView[num-1].setText(inputname.getText().toString());
			}})
		.setNegativeButton("取消",new DialogInterface.OnClickListener(){
			public void onClick(DialogInterface dialog,int which){
			
			}})
			.create();
		bDialog.show();
		mesString+="重命名成功";
		
			}
		else if(item.getItemId()==(Menu.FIRST+num*10+4)){mesString+="删除";
	}
		Toast.makeText(this,mesString,Toast.LENGTH_LONG).show();
		return true;
	}

	public boolean onPrepareOptionsMenu(Menu menu) {
		super.onPrepareOptionsMenu(menu);
		MenuItem start = menu.findItem(R.id.start);
		MenuItem stop = menu.findItem(R.id.stop);

		boolean flag = false;
		start.setEnabled(flag);
		stop.setEnabled(!flag);
		flag = !flag;
		return true;

	}

	public void onCreateContextMenu(ContextMenu menu,View v,ContextMenuInfo menuInfo){
		
		switch(v.getId()){
		case R.id.file01:
		num=1;
		break;
		
		case R.id.file02:
		num=2;
		break;
		case R.id.file03:
		num=3;
		break;
		case R.id.file04:
		num=4;
		break;
		default:
		break;
		}
		menu.setHeaderTitle("文件操作");
		menu.add(0,Menu.FIRST+num*10+1,0,"发送");
		SubMenu subMenu=menu.addSubMenu(0,Menu.FIRST+num*10+2,1,"设置文字的颜色");
		subMenu.setHeaderTitle("THE Second Level Menu");
		subMenu.add(0,Menu.FIRST+num*100+21,0,"红色");
		subMenu.add(0,Menu.FIRST+num*100+22,0,"黄色");
		subMenu.add(0,Menu.FIRST+num*100+23,0,"绿色");
		menu.add(0,Menu.FIRST+num*10+3,2,"重命名");
		menu.add(0,Menu.FIRST+num*10+4,5,"删除");
		super.onCreateContextMenu(menu, v, menuInfo);
				
	}
}
</span>



 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值