欢迎访问移动开发之家(rcyd.net),关注移动开发教程。移动开发之家  移动开发问答|  每日更新
页面位置 : > > > 内容正文

Android 中 ContextMenu 的使用,androidcontextmenu

来源: 开发者 投稿于  被查看 12842 次 评论:175

Android 中 ContextMenu 的使用,androidcontextmenu


<无详细内容>

1.main.xml

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:Android="http://schemas.android.com/apk/res/android"

    Android:orientation="vertical"
    Android:layout_width="fill_parent"
    Android:layout_height="fill_parent"
    >

<ListView    Android:id="@android:id/list"
            Android:layout_width="fill_parent"
            Android:layout_height="fill_parent"></ListView>

</LinearLayout>

2.simple_list_item_1.xml

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout
  xmlns:Android="http://schemas.android.com/apk/res/android"
  Android:layout_width="wrap_content"
  Android:layout_height="wrap_content"
  Android:orientation="vertical">
  <TextView    Android:id="@+id/label"
              Android:layout_width="fill_parent"
              Android:layout_height="wrap_content"
              Android:textSize="30sp"></TextView>
</LinearLayout>

3.MenuDemoActivity.java

package com.yyl;

import Android.app.ListActivity;
import Android.os.Bundle;
import Android.view.ContextMenu;
import Android.view.ContextMenu.ContextMenuInfo;
import Android.view.Menu;
import Android.view.MenuItem;
import Android.view.View;
import Android.widget.ArrayAdapter;


public class MenuDemoActivity extends ListActivity {
   
    public static final int EIGHT_ID = Menu.FIRST+1;
    public static final int SIXTEEN_ID = Menu.FIRST+2;
    public static final int TWENTY_FOUR_ID = Menu.FIRST+3;
    public static final int TWO_ID = Menu.FIRST+4;
    public static final int THIRTY_TWO_ID = Menu.FIRST+5;
    public static final int FORTY_ID = Menu.FIRST+6;
    public static final int ONE_ID = Menu.FIRST+7;
   
    String[] items={"lorem", "ipsum", "dolor", "sit", "amet",
            "consectetuer", "adipiscing", "elit", "morbi", "vel",
            "ligula", "vitae", "arcu", "aliquet", "mollis",
            "etiam", "vel", "erat", "placerat", "ante",
            "porttitor", "sodales", "pellentesque", "augue", "purus"};

    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);
       
        setListAdapter(new ArrayAdapter(this,R.layout.simple_list_item_1,R.id.label,items));

        //注册ContextView到view中
        registerForContextMenu(getListView());
    }

   //重写该方法,生成ContextMenu菜单
    @Override
    public void onCreateContextMenu(ContextMenu menu, View v,
            ContextMenuInfo menuInfo) {
        this.populateMenu(menu);
        super.onCreateContextMenu(menu, v, menuInfo);
    }
  
   
    private void populateMenu(Menu menu) {
        menu.add(Menu.NONE, ONE_ID, Menu.NONE, "1 Pixel");
        menu.add(Menu.NONE, TWO_ID, Menu.NONE, "2 Pixels");
        menu.add(Menu.NONE, EIGHT_ID, Menu.NONE, "8 Pixels");
        menu.add(Menu.NONE, SIXTEEN_ID, Menu.NONE, "16 Pixels");
        menu.add(Menu.NONE, TWENTY_FOUR_ID, Menu.NONE, "24 Pixels");
        menu.add(Menu.NONE, THIRTY_TWO_ID, Menu.NONE, "32 Pixels");
        menu.add(Menu.NONE, FORTY_ID, Menu.NONE, "40 Pixels");
    }

   
}

用户评论