Android组件 上下文菜单(ContextMenu)

res/layout/main.xml代码如下:

[html] view plain copy print ?
  1. <?xml version="1.0" encoding="utf-8"?>  
  2. <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"  
  3.     android:layout_width="fill_parent"  
  4.     android:layout_height="fill_parent"  
  5.     android:orientation="vertical"   
  6.     android:id="@+id/myLayout"  
  7.     android:background="#ffffffff">  
  8. </LinearLayout>  

Java代码如下:

[java] view plain copy print ?
  1. package com.demo.android.contextmenu;  
  2.   
  3. import android.app.Activity;  
  4. import android.graphics.Color;  
  5. import android.os.Bundle;  
  6. import android.view.ContextMenu;  
  7. import android.view.Menu;  
  8. import android.view.ContextMenu.ContextMenuInfo;  
  9. import android.view.MenuItem;  
  10. import android.view.View;  
  11. import android.widget.LinearLayout;  
  12. import android.widget.Toast;  
  13.   
  14. public class ContextMenuActivity extends Activity {  
  15.     private LinearLayout myLayout;  
  16.     @Override  
  17.     public void onCreate(Bundle savedInstanceState) {  
  18.         super.onCreate(savedInstanceState);  
  19.         setContentView(R.layout.main);  
  20.         //获取myLayout对象   
  21.         myLayout=(LinearLayout) findViewById(R.id.myLayout);  
  22.         //为myLayout对象注册ContextMenu事件   
  23.         this.registerForContextMenu(myLayout);  
  24.     }  
  25.     @Override  
  26.     public void onCreateContextMenu(ContextMenu menu, View v,ContextMenuInfo menuInfo) {  
  27.         super.onCreateContextMenu(menu, v, menuInfo);  
  28.         //设置菜单标题的图标   
  29.         menu.setHeaderIcon(R.drawable.tinfo);  
  30.         //设置菜单标题   
  31.         menu.setHeaderTitle("设置背景颜色");  
  32.         menu.add(Menu.NONE,0,0,"蓝色");  
  33.         menu.add(Menu.NONE,1,1,"绿色");  
  34.     }  
  35.     @Override  
  36.     public boolean onContextItemSelected(MenuItem item) {  
  37.         super.onContextItemSelected(item);  
  38.         switch(item.getItemId()){  
  39.             case 0:{  
  40.                 Toast.makeText(ContextMenuActivity.this"单击了:"+item.getTitle(), Toast.LENGTH_SHORT).show();  
  41.                 myLayout.setBackgroundColor(Color.BLUE);  
  42.                 break;  
  43.             }  
  44.             case 1:{  
  45.                 Toast.makeText(ContextMenuActivity.this"单击了:"+item.getTitle(), Toast.LENGTH_SHORT).show();  
  46.                 myLayout.setBackgroundColor(Color.GREEN);  
  47.                 break;  
  48.             }  
  49.         }  
  50.         return true;  
  51.     }  
  52. }  

你可能感兴趣的:(Android组件 上下文菜单(ContextMenu))