Android菜单设计(一)

计应112 贺利琴

Android中的菜单有两种:一种是通过主界面的MENU键激活,叫Menu;另一种是当用户长按一个元素时激活,叫Context Menu。Context Menu用于View,跟某个具体的View绑定在一起。

例如:实现当用户长按某一个控件时,弹出相应的菜单。实现代码及相应的窗体界面如下:

package com.menu;

import android.app.Activity;
import android.os.Bundle;
import android.view.ContextMenu;
import android.view.ContextMenu.ContextMenuInfo;
import android.view.Menu;

import android.view.View;
import android.widget.Button;
import android.widget.EditText;

public class MenuActivity extends Activity {
 /** Called when the activity is first created. */
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);
        EditText t1=(EditText)findViewById(R.id.t1);
        this.registerForContextMenu(t1);
        Button b1=(Button)findViewById(R.id.b1);
        this.registerForContextMenu(b1);
    }

 @Override
 public void onCreateContextMenu(ContextMenu menu, View v,
   ContextMenuInfo menuInfo) {
  // TODO Auto-generated method stub
  //Log.v(TAG, "populate context menu");   
  // set context menu title
  if(v.getId()==R.id.t1)
  {
  menu.clear();//清空原有菜单项
  menu.setHeaderTitle("文件操作");  
  // add context menu item   
  menu.add(0, 1, Menu.NONE, "发送");   
  menu.add(0, 2, Menu.NONE, "标记为重要");   
  menu.add(0, 3, Menu.NONE, "重命名");   
  menu.add(0, 4, Menu.NONE, "删除");
  }
  else if(v.getId()==R.id.b1)
  {   
   menu.add(0,1,Menu.NONE,"aaa");
   menu.add(0,2,Menu.NONE,"ccc");
   menu.add(0,3,Menu.NONE,"saa");
   
  }
 }

}

  初始效果图如下:                                                 长按文本框控件的效果图如下:                                  长按Button控件的效果图如下:

                                             

 

posted @ 2013-05-19 20:55  Pretend257  阅读(161)  评论(0编辑  收藏  举报