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

1.长按选项:

布局文件:

  1. <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
  2. xmlns:tools="http://schemas.android.com/tools"
  3. android:layout_width="match_parent"
  4. android:layout_height="match_parent"
  5. android:orientation="vertical"
  6. android:paddingBottom="@dimen/activity_vertical_margin"
  7. android:paddingLeft="@dimen/activity_horizontal_margin"
  8. android:paddingRight="@dimen/activity_horizontal_margin"
  9. android:paddingTop="@dimen/activity_vertical_margin"
  10. tools:context=".MenuActivity" >
  11.  
  12. <TextView
  13. android:id="@+id/menutext1"
  14. android:layout_width="fill_parent"
  15. android:layout_height="wrap_content"
  16. android:text="第一种方法创建菜单"
  17. android:textSize="20sp" />
  18.  
  19. <TextView
  20. android:id="@+id/menutext2"
  21. android:layout_width="fill_parent"
  22. android:layout_height="wrap_content"
  23. android:text="第二种方法创建菜单"
  24. android:textSize="20sp" />
  25.  
  26. <ListView
  27. android:id="@+id/menulist"
  28. android:layout_width="fill_parent"
  29. android:layout_height="fill_parent"
  30. android:layout_marginTop="50dp" >
  31. </ListView>
  32.  
  33. </LinearLayout>

实现过程:

  1. private ListView list;
  2. private TextView lv;
  3.  
  4. String[] str = { "TextView", "EditView", "Toast(消息框)" };
  5.  
  6. @Override
  7. protected void onCreate(Bundle savedInstanceState) {
  8. super.onCreate(savedInstanceState);
  9. setContentView(R.layout.activity_menu);
  10.  
  11. list = (ListView) findViewById(R.id.menulist);
  12. ArrayAdapter<String> arr = new ArrayAdapter<String>(this,
  13. android.R.layout.simple_list_item_1, str);
  14. list.setAdapter(arr);
  15.  
  16. list.setOnCreateContextMenuListener(new OnCreateContextMenuListener() {
  17.  
  18. @Override
  19. public void onCreateContextMenu(ContextMenu menu, View v,
  20. ContextMenuInfo menuInfo) {
  21. menu.clear();
  22. menu.clearHeader();
  23. menu.setHeaderIcon((R.drawable.ic_launcher));
  24. menu.setHeaderTitle("我是ListView");
  25. menu.add(3, 6, 0, "删除");
  26. menu.add(3, 7, 1, "修改");
  27. }
  28. });
  29. // 第一种方法
  30. TextView tv = (TextView) findViewById(R.id.menutext1);
  31. this.registerForContextMenu(tv);
  32. // 第二种方法
  33. lv = (TextView) findViewById(R.id.menutext2);
  34. lv.setOnCreateContextMenuListener(new OnCreateContextMenuListener() {
  35.  
  36. @Override
  37. public void onCreateContextMenu(ContextMenu menu, View v,
  38. ContextMenuInfo menuInfo) {
  39. menu.setHeaderTitle("长度-ContextMenu");
  40. menu.add(0, 1, 0, "复制");
  41. SubMenu sb = menu.addSubMenu("查找");
  42. sb.add(1, 2, 0, "按id查找");
  43. sb.add(1, 3, 0, "按名称查找");
  44. }
  45. });
  46. }

2.长按菜单项:

  1. private ListView list;
  2. private TextView lv;
  3.  
  4. String[] str = { "TextView", "EditView", "Toast(消息框)" };
  5.  
  6. @Override
  7. protected void onCreate(Bundle savedInstanceState) {
  8. super.onCreate(savedInstanceState);
  9. setContentView(R.layout.activity_menu);
  10.  
  11. list = (ListView) findViewById(R.id.menulist);
  12. ArrayAdapter<String> arr = new ArrayAdapter<String>(this,
  13. android.R.layout.simple_list_item_1, str);
  14. list.setAdapter(arr);
  15.  
  16. list.setOnCreateContextMenuListener(new OnCreateContextMenuListener() {
  17.  
  18. @Override
  19. public void onCreateContextMenu(ContextMenu menu, View v,
  20. ContextMenuInfo menuInfo) {
  21. menu.clear();
  22. menu.clearHeader();
  23. menu.setHeaderIcon((R.drawable.ic_launcher));
  24. menu.setHeaderTitle("我是ListView");
  25. menu.add(3, 6, 0, "删除");
  26. menu.add(3, 7, 1, "修改");
  27. }
  28. });
  29. // 第一种方法
  30. TextView tv = (TextView) findViewById(R.id.menutext1);
  31. this.registerForContextMenu(tv);
  32. // 第二种方法
  33. lv = (TextView) findViewById(R.id.menutext2);
  34. lv.setOnCreateContextMenuListener(new OnCreateContextMenuListener() {
  35.  
  36. @Override
  37. public void onCreateContextMenu(ContextMenu menu, View v,
  38. ContextMenuInfo menuInfo) {
  39. menu.setHeaderTitle("长度-ContextMenu");
  40. menu.add(0, 1, 0, "复制");
  41. SubMenu sb = menu.addSubMenu("查找");
  42. sb.add(1, 2, 0, "按id查找");
  43. sb.add(1, 3, 0, "按名称查找");
  44. }
  45. });
  46. }

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. dir_colors linux颜色配置

    在控制台下,用ls,就会发现,shell将不同类型的文件项目显示为不同的颜色.者可以提高效率,不用ls -l便能大概的把各个文件的类型情况了解一下. 你有没有想过更改这个着色配置呢? 其实,在/etc ...

  2. G - Bullseye

    Description A simple dartboard consists of a flat, circular piece of cork with concentric rings draw ...

  3. UVA 11214 Guarding the Chessboard

    题意: 皇后防御的范围是他所在横.竖.对角线,地图上的#为可以放旗子的地方.问最少放几个皇后能防守所有#. 分析: vis数组开4维,对应行.列.主对角线.副对角线 代码: #include < ...

  4. MySQL查询优化之explain

    在分析查询性能时,考虑EXPLAIN关键字同样很管用.EXPLAIN关键字一般放在SELECT查询语句的前面,用于描述MySQL如何执行查询操作.以及MySQL成功返回结果集需要执行的行数.expla ...

  5. windows 文件watch nodejs

    本篇博客,主要是记录下最近一直纠结的gulp.watch方法,在工作中我们肯定都遇到过,新添加的文件没办法自动触发watch,下面我们就来看有什么办法处理 1.首先我们肯定是先百度一下 百度推荐的是g ...

  6. RemoteViews的理解和使用

    一.RemoteViews简介 作用:跨进程更新界面                         使用场景:通知栏.桌面小部件 二.在通知栏上的应用 原理:通过RemoteViews加载布局,通过 ...

  7. eclipse tomcat内存设置

    -Xms256M -Xmx512M -XX:PermSize=256m -XX:MaxPermSize=512m

  8. 注册表添加python

    win(python2.7)下: 执行此文件 #!/usr/bin/env python # encoding:utf-8 # # script to register Python 2.0 or l ...

  9. Mybatis.net与MVC入门配置及联合查询动态SQL拼接和简单事务

    第一次学习Mybatis.net,在博客园也找到好多资料,但是在配置成功之后也遇到了一些问题,尤其是在动态SQl拼接时候,这里把遇到的问题还有自己写的一个Demo贴出来,希望能帮到新手,有不适合的地方 ...

  10. SQL Server 查看数据库空间分配情况的 2 种方法

    方法 1. sys.dm_db_file_space_usage. 方法 2. sys.dm_db_session_space_usage. ----------------------------- ...