Android中ContextMenu的使用

转载 2012年03月31日 10:36:00

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>

 

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>

 

2、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");
        }

  
     
   
}


ContextMenu的使用详解

二话不说,先上图: 可以很容易看到这是一个类似于Dialog悬浮在活动上的控件,它是由被注册的view长按所触发的。当然啦,也有其他的实现方式,这里就先介绍一下系统的ContextMenu:(先剧透...
  • Bob1993_Dev
  • Bob1993_Dev
  • 2015年06月02日 20:25
  • 4110

【Android】上下文菜单ContextMenu的使用

上下文菜单 又称长按菜单。当一个视图注册了上下文菜单时,执行一个在该对象上长按(2秒)的动作,将出现一个具有相关功能的浮动菜单。 类概述 扩展自Menu的上下文菜单提供了修改上下文菜单头(hea...
  • oYunTaoLianWu
  • oYunTaoLianWu
  • 2013年09月29日 00:14
  • 13797

Android-改变文字颜色的上下文菜单

实现一个用于改变文字颜色的上下文菜单。运行后,在文字“打开菜单”上长时间按键不放,将弹出上下文菜单,通过该菜单可以改变文字的颜色。菜单资源文件通常放置在res/menu目录下。菜单资源的根元素通常是标...
  • eva1994
  • eva1994
  • 2016年03月16日 20:56
  • 805

Android菜单详解(四)——使用上下文菜单ContextMenu

之前在《Android菜单详解(二)——创建并响应选项菜单》和《Android菜单详解(三)——SubMenu和IconMenu》中详细讲解了选项菜单,子菜单和图标菜单。今天接着细说另一种被广泛使用的...
  • sinat_33661267
  • sinat_33661267
  • 2016年05月28日 16:39
  • 1076

Android开发之Menu:OptionMenu(选项菜单)、ContextMenu(上下文菜单)、SubMenu(子菜单)

菜单的概念,现在已经很普及了。Windows系统、Mac、桌面版Linux、Java Swing等,都有可视化菜单。一、Android平台3种菜单  选项菜单(OptionMenu)、上下文菜单(Co...
  • FansUnion
  • FansUnion
  • 2015年11月20日 10:24
  • 2391

[Javascript]用jquery的ContextMenu插件设置右键菜单

Struts项目中右键菜单一般很少用到,但是一旦客户有要求,很多人就懵圈了,比如我。这个时候,当然要表现镇定,一面拍着胸口对客户承诺说绝对可以实现,一面赶紧打开百度神器,搜搜看是否有前人已经写好的插件...
  • seabreezesuper
  • seabreezesuper
  • 2017年02月04日 14:06
  • 1685

Android中的上下文菜单(ContextMenu)使用案例

在Android中长按住一个控件(像一个文本显示框TextView,一个按钮Button都是一个控件)弹出的菜单为上下文菜单,创建一个上下文菜单分为下面几个步骤: 1、覆写onCreateConte...
  • u012437355
  • u012437355
  • 2015年05月23日 14:15
  • 883

通过ContextMenu上下文菜单获取ListView中被选中的条目item的信息

功能实现:在Activity中有多个View时,只设定某个或几个ListView的onCreateContextMenu事件,并且可以取消掉该事件。 在onCreate时注册该ListView ...
  • wonfly2011
  • wonfly2011
  • 2014年06月18日 10:38
  • 1048

ListView:长按弹出上下文菜单(ContextMenu)

有两种方法实现长按弹出上下文菜单: 方法一: 1)注册上下文菜单 /** * 上下文菜单演示Demo * * @author CodingMyWorld 2011-8-27 下午03...
  • wulianghuan
  • wulianghuan
  • 2013年11月04日 14:45
  • 12783

【JQuery】右键菜单插件——contextmenu

右键菜单插件可以绑定页面中的任意元素,绑定后,选中元素,点击右键,便通过该插件弹出一个快捷菜单,点击菜单各项名称执行相应操作,调用代码如下: $(selector).contextMenu(me...
  • happyhaojie
  • happyhaojie
  • 2016年04月09日 03:19
  • 841
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:Android中ContextMenu的使用
举报原因:
原因补充:

(最多只允许输入30个字)