Android中Menu菜单的创建实例OptionMenu以及ContextMenu--周末福利有美女

关于OptionMenu实例


点击qc1按钮后会弹出图:


点击qc1按钮后会弹出图:


activity的代码:

package com.tmacsky;
import android.app.Activity;
import android.os.Bundle;
import android.view.Menu;
import android.view.MenuInflater;
import android.view.MenuItem;
import android.widget.Toast;
public class MenuTest extends Activity{
	protected void onCreate(Bundle savedInstanceState) {
		// TODO Auto-generated method stub
		super.onCreate(savedInstanceState);
		setContentView(R.layout.gravery);
	}
	//通过调用xml布局文件来创建显示menu
	public boolean onCreateOptionsMenu(Menu menu) {
		// TODO Auto-generated method stub
		MenuInflater inflaterr = getMenuInflater();
		inflaterr.inflate(R.menu.option_menu, menu);
		return true;
	}
	//点击了menu上的item按钮后会执行下面的方法函数
	public boolean onOptionsItemSelected(MenuItem item) {
		// TODO Auto-generated method stub
		Toast.makeText(this, item.getTitle(), 2000).show();
		return super.onOptionsItemSelected(item);
	}
	//菜单关闭之后会执行下面的函数	
	public void onOptionsMenuClosed(Menu menu) {
		// TODO Auto-generated method stub
		Toast.makeText(this, "菜单关闭了", 3000).show();
	}
	//点击menu后先显示下面的文字,即在你点击菜单后,菜单显示之前调用下面的函数
	public boolean onPrepareOptionsMenu(Menu menu){
		Toast.makeText(this, "在菜单显示之前会调用此操作", 3000).show();
		return true;
	}
}

option_menu.xml布局文件的代码:

<?xml version="1.0" encoding="utf-8"?>
<menu xmlns:android="http://schemas.android.com/apk/res/android" >
    <item android:title="qa1" android:icon="@drawable/qa"/>
    <item android:title="qb1" android:icon="@drawable/qc">
      <menu>
        <group android:checkableBehavior="single">
            <item android:title="table1"/>
	    	<item android:title="table2" />
	    	<item android:title="table3" />
	    	<item android:title="table4" />
        </group>
      </menu>
    </item>
	<item android:title="qc1" android:icon="@drawable/qc">
	<menu>
	    <item android:checkable="true"  android:title="call" android:icon="@drawable/qc"/>
	    <item android:title="Phone" android:icon="@drawable/qc"/>
	    <item android:title="Mess" android:icon="@drawable/qc"/>
	</menu>
	</item>
</menu>

关于ContextMenu实例:


长按了test中的任何一个list都会弹出下图:


然后你再点上图的qb1,就会弹出:


activity代码:

package com.tmacsky;
import java.util.ArrayList;

import android.R.anim;
import android.app.Activity;
import android.app.ListActivity;
import android.os.Bundle;
import android.text.AndroidCharacter;
import android.view.ContextMenu;
import android.view.ContextMenu.ContextMenuInfo;
import android.view.Menu;
import android.view.MenuInflater;
import android.view.MenuItem;
import android.view.View;
import android.widget.Adapter;
import android.widget.AdapterView;
import android.widget.ArrayAdapter;
import android.widget.Toast;
public class MenuTest extends ListActivity{
	private String[] itemStrings = new String[]{"test1","test2","test3","test4","test5"};
	protected void onCreate(Bundle savedInstanceState) {
		// TODO Auto-generated method stub
		super.onCreate(savedInstanceState);
		//设置adapter并绑定
		ArrayAdapter<String> adapter = new ArrayAdapter<String>(this,android.R.layout.simple_expandable_list_item_1,itemStrings);
		setListAdapter(adapter);
		//注册contextMenu
		registerForContextMenu(getListView());
	}
        //点击后会提示点击了那个文件
	public boolean onContextItemSelected(MenuItem item) {
		// TODO Auto-generated method stub
		Toast.makeText(this, item.getTitle(), 2000).show();
		return true;
	}
	//设置长按list弹出后的窗口的title
	public void onCreateContextMenu(ContextMenu menu, View v,
			ContextMenuInfo menuInfo) {
		// TODO Auto-generated method stub
		menu.setHeaderTitle("contextMenu");
		menu.setHeaderIcon(R.drawable.qa);
		super.onCreateContextMenu(menu, v, menuInfo);
		super.getMenuInflater().inflate(R.menu.option_menu, menu);
	}
	//通过调用xml布局文件来创建显示menu
	public boolean onCreateOptionsMenu(Menu menu) {
		// TODO Auto-generated method stub
		MenuInflater inflaterr = getMenuInflater();
		inflaterr.inflate(R.menu.option_menu, menu);
		return true;
	}
	//点击了menu上的item按钮后会执行下面的方法函数
	public boolean onOptionsItemSelected(MenuItem item) {
		// TODO Auto-generated method stub
		Toast.makeText(this, item.getTitle(), 2000).show();
		return super.onOptionsItemSelected(item);
	}
	//菜单关闭之后会执行下面的函数	
	public void onOptionsMenuClosed(Menu menu) {
		// TODO Auto-generated method stub
		Toast.makeText(this, "菜单关闭了", 3000).show();
	}
	//点击menu后先显示下面的文字,即在你点击菜单后,菜单显示之前调用下面的函数
	public boolean onPrepareOptionsMenu(Menu menu){
		Toast.makeText(this, "在菜单显示之前会调用此操作", 3000).show();
		return true;
	}
}

这里的xml代码和OptionMenu的xml代码一直~祝周末愉快!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值