Android中的设置按钮:长按或点击菜单键

1.长按选项:

布局文件:

 <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical"
android:paddingBottom="@dimen/activity_vertical_margin"
android:paddingLeft="@dimen/activity_horizontal_margin"
android:paddingRight="@dimen/activity_horizontal_margin"
android:paddingTop="@dimen/activity_vertical_margin"
tools:context=".MenuActivity" > <TextView
android:id="@+id/menutext1"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:text="第一种方法创建菜单"
android:textSize="20sp" /> <TextView
android:id="@+id/menutext2"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:text="第二种方法创建菜单"
android:textSize="20sp" /> <ListView
android:id="@+id/menulist"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:layout_marginTop="50dp" >
</ListView> </LinearLayout>

实现过程:

 private ListView list;
private TextView lv; String[] str = { "TextView", "EditView", "Toast(消息框)" }; @Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_menu); list = (ListView) findViewById(R.id.menulist);
ArrayAdapter<String> arr = new ArrayAdapter<String>(this,
android.R.layout.simple_list_item_1, str);
list.setAdapter(arr); list.setOnCreateContextMenuListener(new OnCreateContextMenuListener() { @Override
public void onCreateContextMenu(ContextMenu menu, View v,
ContextMenuInfo menuInfo) {
menu.clear();
menu.clearHeader();
menu.setHeaderIcon((R.drawable.ic_launcher));
menu.setHeaderTitle("我是ListView");
menu.add(3, 6, 0, "删除");
menu.add(3, 7, 1, "修改");
}
});
// 第一种方法
TextView tv = (TextView) findViewById(R.id.menutext1);
this.registerForContextMenu(tv);
// 第二种方法
lv = (TextView) findViewById(R.id.menutext2);
lv.setOnCreateContextMenuListener(new OnCreateContextMenuListener() { @Override
public void onCreateContextMenu(ContextMenu menu, View v,
ContextMenuInfo menuInfo) {
menu.setHeaderTitle("长度-ContextMenu");
menu.add(0, 1, 0, "复制");
SubMenu sb = menu.addSubMenu("查找");
sb.add(1, 2, 0, "按id查找");
sb.add(1, 3, 0, "按名称查找");
}
});
}

2.长按菜单项:

 private ListView list;
private TextView lv; String[] str = { "TextView", "EditView", "Toast(消息框)" }; @Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_menu); list = (ListView) findViewById(R.id.menulist);
ArrayAdapter<String> arr = new ArrayAdapter<String>(this,
android.R.layout.simple_list_item_1, str);
list.setAdapter(arr); list.setOnCreateContextMenuListener(new OnCreateContextMenuListener() { @Override
public void onCreateContextMenu(ContextMenu menu, View v,
ContextMenuInfo menuInfo) {
menu.clear();
menu.clearHeader();
menu.setHeaderIcon((R.drawable.ic_launcher));
menu.setHeaderTitle("我是ListView");
menu.add(3, 6, 0, "删除");
menu.add(3, 7, 1, "修改");
}
});
// 第一种方法
TextView tv = (TextView) findViewById(R.id.menutext1);
this.registerForContextMenu(tv);
// 第二种方法
lv = (TextView) findViewById(R.id.menutext2);
lv.setOnCreateContextMenuListener(new OnCreateContextMenuListener() { @Override
public void onCreateContextMenu(ContextMenu menu, View v,
ContextMenuInfo menuInfo) {
menu.setHeaderTitle("长度-ContextMenu");
menu.add(0, 1, 0, "复制");
SubMenu sb = menu.addSubMenu("查找");
sb.add(1, 2, 0, "按id查找");
sb.add(1, 3, 0, "按名称查找");
}
});
}

Over

Android中的Menu的更多相关文章

  1. Android菜单详解(一)——理解android中的Menu

    前言 今天看了pro android 3中menu这一章,对Android的整个menu体系有了进一步的了解,故整理下笔记与大家分享. PS:强烈推荐<Pro Android 3>,是我至 ...

  2. 【转】Android菜单详解——理解android中的Menu--不错

    原文网址:http://www.cnblogs.com/qingblog/archive/2012/06/08/2541709.html 前言 今天看了pro android 3中menu这一章,对A ...

  3. 在Android软按键中添加Menu键

    在Android中,有时候没有硬件Menu.于是需要软件Menu.但是默认Google想让你用ActionBar上的Menu. 但是,有时候我们确实需要在在底部的软按键上加Menu.这里提供一种方法, ...

  4. Android——在活动中使用Menu

    ADT在HelloWorldActivity中自动创建了一个onCreateOptionsMenu()方法.这个方法是用于在活动中创建菜单的,现在我们来仔细分析一下了.手机毕竟和电脑不同,它的屏幕空间 ...

  5. Android studio 中R.menu的创建

    对于Android开发中的menu没有声明的情况: 首先,将鼠标定位到红色的menu上面, 然后,Alt+enter组合键,建立文件menu, 然后将以下代码复制进去: <item androi ...

  6. Android Studio —— 创建Menu菜单项

    大多数android程序的右上角都会设置一个菜单按钮比如微信的界面右上角的加号. 这个需要在layout同级目录下新建文件夹命名为menu,再右击新建的menu新建xml文件:

  7. Android 中常见控件的介绍和使用

    1 TextView文本框 1.1 TextView类的结构 TextView 是用于显示字符串的组件,对于用户来说就是屏幕中一块用于显示文本的区域.TextView类的层次关系如下: java.la ...

  8. Android中ListView的几种常见的优化方法

    Android中的ListView应该算是布局中几种最常用的组件之一了,使用也十分方便,下面将介绍ListView几种比较常见的优化方法: 首先我们给出一个没有任何优化的Listview的Adapte ...

  9. 详细解读Android中的搜索框—— SearchView

    以前总是自己写的 今天看看别人做的 本篇讲的是如何用searchView实现搜索框,其实原理和之前的没啥差别,也算是个复习吧. 一.Manifest.xml 这里我用一个activity进行信息的输入 ...

随机推荐

  1. (转)Java字符串应用之密码加密与验证

    1.通过java.Security.MessageDigest的静态方法getInstance创建具有指定算法名称的信息摘要,参数为算法名,传入”MD5“则表示使用MD5算法    2.Message ...

  2. 使用CSC.EXE编译第一个HELLO WORLD

    坐的没事,下了个C#2008,看帮助文件写了个HELLO.CS的源文件: //hello.cs //Show "Hello Word!" using system; class h ...

  3. sql 事务和回滚

    (1) set ANSI_NULLS ON --见图1 set QUOTED_IDENTIFIER ON go ALTER proc [dbo].[procname] as begin begin t ...

  4. jdbc之二:DAO模式

    详细代码请参见 https://code.csdn.net/jediael_lu/daopattern 1.创建Dao接口. package com.ljh.jasonnews.server.dao; ...

  5. javascript中可处理的浮点数的最高精度(和小数的一些小特性)

    1.之前在度娘那找了一下关于javascript中可处理的浮点数的最高精度的问题,但找了好久也找不到,于是自己 小小的研究了一下,之前以为是17,后来测到18,再后来又测到19,经过一系列的改写,得到 ...

  6. DIV周边添加投影及背景固定

    DIV周边添加投影.tou{ width:1000px; height:300px; border:0px solid #999; background:#FFF; margin:0 auto; ma ...

  7. 【写一个自己的js库】 3.添加几个处理字符串的方法

    1.生成重复的字符串 if(!String.repeat){ String.prototype.repeat = function (count){ return new Array(count + ...

  8. Inno Setup 精灵显示插件 InnoFairy (V2.0 版本)

    原文 http://restools.hanzify.org/article.asp?id=111 一个如影随形的小精灵会令到你的安装程序更加人性化. 就是这样一个功能的Inno Setup插件, 希 ...

  9. Inno Setup 网页显示插件 webctrl (V2.1 版本)

    原文 http://restools.hanzify.org/article.asp?id=90 Inno Setup网页显示插件 webctrl能够显示所有 IE 中能够显示的东西.  引用内容 ; ...

  10. JIRA项目跟踪管理工具简介与安装

    1.什么是JIRA JIRA是Atlassian公司出品的项目与事务跟踪工具,被广泛应用于缺陷跟踪.客户服务.需求收集.流程审批.任务跟踪.项目跟踪和敏捷管理等工作领域. Atlassian2002年 ...