Android中ContextMenu用法实例

本文实例讲述了Android中ContextMenu用法。分享给大家供大家参考。具体如下:

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>

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

希望本文所述对大家的Android程序设计有所帮助。

(0)

相关推荐

  • android ListView内数据的动态添加与删除实例代码

    main.xml 文件: 复制代码 代码如下: <?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="fill_parent" android:layout_height="fill_pa

  • android ListView和GridView拖拽移位实现代码

    关于ListView拖拽移动位置,想必大家并不陌生,比较不错的软件都用到如此功能了.如:搜狐,网易,百度等,但是相比来说还是百度的用户体验较好,不偏心了,下面看几个示例:             首先说一下:拖拽ListView的item就不应该可以任意移动,只应该在ListView所在的范围内,而网易的你看看我都可以移动到状态栏了,虽然你做了处理,但是用户体验我个人感觉不好,在看看百度的,不仅控制了移动范围,更不错的百度的移动起来会时时的换位,看起来相当的形象,所以我认为这样相当的棒.说明一点

  • Android checkbox的listView(多选,全选,反选)具体实现方法

    布局文件:[html]  复制代码 代码如下: <?xml version="1.0" encoding="utf-8"?>  <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"      android:layout_width="fill_parent"      android:layout_height=

  • Android ListView长按弹出菜单二种实现方式示例

    复制代码 代码如下: /** * 知识点1:ListView item:两种长按弹出菜单方式* 知识点2:ListView SimpleAdapter的使用* 知识点 3:在java代码中创建一个ListView*/ public class ListOnLongClickActivity extends Activity {         private LinearLayout myListViewlayout;         private ListView mListView;   

  • android listview优化几种写法详细介绍

    这篇文章只是总结下getView里面优化视图的几种写法,就像孔乙己写茴香豆的茴字的几种写法一样,高手勿喷,勿笑,只是拿出来分享,有错误的地方欢迎大家指正,谢谢. listview Aviewthatshowsitemsinaverticallyscrollinglist. 一个显示一个垂直的滚动子项的列表视图在android开发中,使用listview的地方很多,用它来展现数据,成一个垂直的视图.使用listview是一个标准的适配器模式,用数据--,界面--xml以及适配器--adapter,

  • android二级listview列表实现代码

    今天来实现以下大众点评客户端的横向listview二级列表,先看一下样式.  这种横向的listview二级列表在手机软件上还不太常见,但是使用过平板的都应该知道,在平板上市比较常见的.可能是因为平板屏幕比较大,而且也能展现更多的内容. 下面来看一下我的实现步骤. 首先自定义一个listview,代码如下: 复制代码 代码如下: public class MyListView extends ListView implements Runnable { private float mLastDo

  • Android上下文菜单用法实例分析

    本文实例讲述了Android上下文菜单用法.分享给大家供大家参考.具体如下: 上下文菜单不同于选项菜单,选项菜单服务于Activity,而上下文菜单则是注册到某个View对象上的. 如果一个View对象注册了上下文菜单,用户可以通过长按该View对象以呼出上下文菜单. 上下文菜单不支持快捷键,其菜单选项也不能附带图标,但是可以为上下文菜单的标题指定图标. 以下模拟上下文菜单 main.xml布局文件: <?xml version="1.0" encoding="utf-

  • Android UI设计系列之自定义ListView仿QQ空间阻尼下拉刷新和渐变菜单栏效果(8)

    好久没有写有关UI的博客了,刚刚翻了一下之前的博客,最近一篇有关UI的博客:Android UI设计系列之自定义Dialog实现各种风格的对话框效果(7) ,实现各种风格效果的对话框,在那篇博客写完后由于公司封闭开发封网以及其它原因致使博客中断至今,中断这么久很是惭愧,后续我会尽量把该写的都补充出来.近来项目有个需求,要做个和QQ空间类似的菜单栏透明度渐变和下拉刷新带有阻尼回弹的效果.于是花点时间动手试了试,基本上达到了QQ空间的效果,截图如下: 通过观察QQ空间的运行效果,发现当往上滚动时菜单

  • Android开发之ListView实现Item局部刷新

    对于android中的ListView刷新机制,大多数的程序员都是很熟悉的,修改或者添加adapter中的数据源之后,然后调用notifyDataSetChanged()刷新ListView.在这种模式下,我们会在getView中,根据不同的数据源,让控件显示不同的内容.这种模式是最常见的刷新模式,当我们来回滑动ListView的时候,调用adapter的getView方法,然后listview对adapter返回的View进行绘制.这种模式下,View的显示内容或状态都记录在adapter里面

  • android开发之横向滚动/竖向滚动的ListView(固定列头)

    由于项目需要,我们需要一个可以横向滚动的,又可以竖向滚动的 表格.而且又要考虑大数据量(行)的展示视图.经过几天的研究终于搞定,做了一个演示.贴图如下:      好吧.让我们看思路是什么样的: 1. 上下滚动直接使用 listView来实现. 2. 左右滚动使用HorizontalScrollView,来处理滚动.我写一个类MyHScrollView继承 自它. 2.1 . ListView里的每行(row)分为 两部分,不滚动的和可滚动的区域.比如本demo的第一列,就是静态的.而后面的所有

  • Android编程实现为ListView创建上下文菜单(ContextMenu)的方法

    本文实例讲述了Android编程实现为ListView创建上下文菜单(ContextMenu)的方法.分享给大家供大家参考,具体如下: ContextMenu称为上下文菜单,一般在控件上长按时弹出.今天我们学习ContextMenu的用法,这里与listview相结合,先在ListView显示几个Item,然后在Item上长按,弹出一个菜单(就是ContextMenu),点击菜单上的项目,提示刚才长按的Item的Position. main.xml文件 <?xml version="1.0

  • android开发教程之listview使用方法

    首先是布局文件,这里需要两个布局文件,一个是放置列表控件的Activity对应的布局文件 main.xml,另一个是ListView中每一行信息显示所对应的布局  list_item.xml    这一步需要注意的问题是ListView 控件的id要使用Android系统内置的 android:id="@android:id/list"   [注意形式] main.xml 复制代码 代码如下: <?xml version="1.0" encoding=&quo

  • Android ListView的item背景色设置和item点击无响应的解决方法

    下面讲解以下在使用listview时最常见的几个问题.1.如何改变item的背景色和按下颜色 listview默认情况下,item的背景色是黑色,在用户点击时是黄色的.如果需要修改为自定义的背景颜色,一般情况下有三种方法: 1)设置listSelector 2)在布局文件中设置item的background 3)在adapter的getview中设置 这三种方法都能达到改变item默认的背景色和按下颜色,下面来分别讲解,但是在这之前需要先写好selector.xml文件; 复制代码 代码如下:

  • Android自定义Adapter的ListView的思路及代码

    在开发中,我们经常使用到ListView这个控件.Android的API也提供了许多创建ListView适配器的快捷方式.例如ArrayAdapter.SimpleAdapter和SimpleCursorAdapter等.但你是否发现,如果采用这些系统自带的适配器,对于事件的响应只能局限在一个行单位.假设一行里面有一个按钮和一个图片控件,它们之间的响应操作是不一样的.若采用系统自带的适配器,就不能精确到每个控件的响应事件.这时,我们一般采取自定义适配器来实现这个比较精确地请求. ListView

随机推荐