Android 的上下文菜單,用配置文件的方式編寫的

<span style="font-size:32px;">這是在layout下寫的</span>
<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:id="@+id/container"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    tools:context="com.example.caidan.MainActivity"
    tools:ignore="MergeRootFrame" >

<pre name="code" class="java">

    <Button
        android:id="@+id/button1"
        android:layout_width="match_parent"
        android:layout_height="74dp"
        android:text="上下文菜單" />
</FrameLayout>

這是在menu 下寫的

<?xml version="1.0" encoding="utf-8"?>
<menu xmlns:android="http://schemas.android.com/apk/res/android" >
    
	 <item
        android:id="@+id/star"
        android:orderInCategory="100"
        android:title="star"/>
	  <item
        android:id="@+id/over"
        android:orderInCategory="200"
        android:title="over"/>
</menu>
這是在主函數裏寫的

package com.example.caidan;

import android.app.Activity;
import android.os.Bundle;
import android.view.ContextMenu;
import android.view.MenuItem;
import android.view.View;
import android.view.ContextMenu.ContextMenuInfo;
import android.widget.Button;
import android.widget.Toast;

/**
 * 上下文菜單
 * 
 * @author Administrator
 * 
 */

public class MainActivity2 extends Activity {
	private Button bnt1;

	@Override
	protected void onCreate(Bundle savedInstanceState) {
		super.onCreate(savedInstanceState);
		setContentView(R.layout.activity_main);
		// 獲取BUTTON對象
		bnt1 = (Button) findViewById(R.id.button1);
		//在Button 上註冊上下文菜單
		registerForContextMenu(bnt1);
	}

	// 創建上下文菜單的方法
	@Override
	public void onCreateContextMenu(ContextMenu menu, View v,
			ContextMenuInfo menuInfo) {
		super.onCreateContextMenu(menu, v, menuInfo);
		// getMenuInflater的意思是菜單加載器。。用來讀取配置的菜單
		// 填充選項菜單(讀取XML文件,解析,加載到MENU組件上)
		getMenuInflater().inflate(R.menu.main2, menu);
	}

	// 上下文菜單項觸發事件
	@Override
	public boolean onContextItemSelected(MenuItem item) {
		switch (item.getItemId()) {
		case R.id.star:
			Toast.makeText(this, "開始...", Toast.LENGTH_SHORT).show();
			break;
		case R.id.over:
			Toast.makeText(this, "結束...", Toast.LENGTH_SHORT).show();
		default:
			break;
		}
		return super.onContextItemSelected(item);
	}

}



發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章