XML:

<RelativeLayout 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: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=".MainActivity" >

<TextView android:id="@+id/txt"
       android:layout_width="match_parent"
       android:layout_height="wrap_content"
       android:text="上下文菜单"
       android:textSize="25sp"/>

</RelativeLayout>

context_menu.xml:

<menu xmlns:android="http://schemas.android.com/apk/res/android" >

<item
        android:id="@+id/action_Edit"
        android:orderInCategory="100"
        android:showAsAction="never"
        android:title="编辑"/>
    <item
        android:id="@+id/action_file"
        android:orderInCategory="99"
        android:title="打开"/>
    <item
        android:id="@+id/action_file"
        android:orderInCategory="99"
        android:title="复制"/>
    <item android:title="Window">
        <menu>
            <item
                android:id="@+id/newWin"
                android:title="New Window"/>
            <item
                android:id="@+id/newEdit"
                android:title="New Editor"/>
        </menu>
    </item>

</menu>

Activtiy:

public class MenuActivity extends Activity {

public void onCreate(Bundle savedInstanceState) {
  super.onCreate(savedInstanceState);
        setContentView(R.layout.menu);
        TextView t=(TextView)findViewById(R.id.txt);
        registerForContextMenu(t);
 }
 
 @Override
 public boolean onCreateOptionsMenu(Menu menu) {
  //menu.add(Menu.NONE, Menu.FIRST, 1, "File");
  menu.add(Menu.NONE, Menu.FIRST+1, 2, "Edit");
  menu.add(Menu.NONE, Menu.FIRST+2, 3, "Refactor");
  menu.add(Menu.NONE, Menu.FIRST+3, 4, "Source");
  menu.add(Menu.NONE, Menu.FIRST+4, 5, "Navigate");
  SubMenu file=menu.addSubMenu("File");
  file.add(1, Menu.FIRST+20, 1, "新建");
  file.add(1, Menu.FIRST+21, 2, "打开");
  file.add(1, Menu.FIRST+22, 3, "保存");
  return true;
 }

@Override
 public boolean onOptionsItemSelected(MenuItem item) {
  switch(item.getItemId()){
  case Menu.FIRST+1:
   Toast.makeText(this, "你点击了编辑",Toast.LENGTH_LONG).show();
   break;
  default:
   break;
  }
  return false;
 }

@Override
 public void onCreateContextMenu(ContextMenu menu, View v,
   ContextMenuInfo menuInfo) {
  super.onCreateContextMenu(menu, v, menuInfo);
  MenuInflater inflater=new MenuInflater(this);
  inflater.inflate(R.menu.context_menu, menu);
  menu.setHeaderTitle("分差差");
 }
 @Override
 public boolean onContextItemSelected(MenuItem item) {
  switch(item.getItemId()){
  case R.id.action_Edit:
   Toast.makeText(this, "你点击了上下文菜单编辑",Toast.LENGTH_LONG).show();
   break;
   default:
    break;
  }
  return super.onContextItemSelected(item);
 }
  
 }

android上下文菜单的更多相关文章

  1. Android 上下文菜单实现

    1.覆盖Activity的onCreateContenxtMenu()方法,调用Menu的add方法添加菜单项(MenuItem). 2.覆盖Activity的onContextItemSelecte ...

  2. android 上下文菜单详解

    本文使用xml来创建上下文菜单 <?xml version="1.0" encoding="utf-8"?> <menu xmlns:andr ...

  3. Android上下文菜单ContentView详解

    ContentView介绍 上下文菜单继承了android.view.Menu,因此我们可以像操作Options Menu那样给上下文菜单增加菜单项.上下文菜单与Options Menu最大的不同在于 ...

  4. Android 上下文菜单 ContextMenu

    public class MainActivity extends Activity { private ListView listView; @Override protected void onC ...

  5. Android 上下文菜单 ActionMode

    public class MainActivity extends Activity { private Button button; private ActionMode actionMode; @ ...

  6. Android 上下文菜单 PopupMenu

    @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); s ...

  7. 不得不吐槽的Android PopupWindow的几个痛点(实现带箭头的上下文菜单遇到的坑)

    说到PopupWindow,我个人感觉是又爱又恨,没有深入使用之前总觉得这个东西应该很简单,很好用,但是真正使用PopupWindow实现一些效果的时候总会遇到一些问题,但是即便是人家的api有问题, ...

  8. Android 的上下文菜单: Context Menu,registerForContextMenu(getListView())

    概述: Android 的上下文菜单类似于 PC 上的右键菜单.当为一个视图注册了上下文菜单之后,长按(2 秒左右)这个视图对象就会弹出一个浮动菜单,即上下文菜单.任何视图都可以注册上下文菜单,不过, ...

  9. android 为组件添加contextMenu上下文菜单

    package com.example.fragmentNavigation2.fragment; import android.os.Bundle; import android.support.v ...

随机推荐

  1. 移动web开发和移动app开发的区分

    1.移动web开发 这部分跟web前端开发差别不大,使用的技术都是html+css+js.区别为手机浏览器是webkit的天下,pc端是IE的天 下.手机网页可以理解成pc网页的缩小版加一些触摸特性. ...

  2. linux日常运维管理

    1.查看系统负载命令 w命令:主要查看cpu负载 load average:一分钟内负载 五分钟内负载 十五分钟内负载 负载跟cpu核心数有关,查看cpu核心数: # cat /proc/cpuinf ...

  3. 安装mysql因为/tmp权限不足而导致ERROR 1045 (28000): Access denied for user root@localhost (using password: NO)的解决方案

    本机是centos 6.5  安装的mysql是5.1的版本. 在安装mysql之后,第一次启动mysql服务的时候,需要/tmp有777(rwxrwxrwx)的权限,然而楼主的/tmp是755(rw ...

  4. Lua C++ Binding之Lunar, Luna

    服务端引擎的脚本, 我们项目在老端游项目上发展, 采取的是Lua脚本. 当前服务端的发展趋势是瘦引擎, 胖脚本模式, 基本上引擎负责的功能非常少, 主要是网络, 定帧, 定时器, 引擎通过导出相应的接 ...

  5. Javascript 中的神器——Promise

    Promise in js 回调函数真正的问题在于他剥夺了我们使用 return 和 throw 这些关键字的能力.而 Promise 很好地解决了这一切. 2015 年 6 月,ECMAScript ...

  6. 10天学会phpWeChat——第六天:实现新闻的后台管理

    通过前面五讲的系列教程,我们完成了一个简单模块的前端发布.列表展示.详情展示.实际生产环境中,所有前台的数据都会有对应的后台操作进行统筹管理.我们称之为后台管理系统. 今天,我们开始<10天学会 ...

  7. HYPER V 文件共享 复制文件 共享硬盘 来宾服务

    虚拟机的设置   -->  集成服务 –> 来宾服务  勾选    文件就可以在本地机器和虚拟机上来回复制了. 他可让 Hyper-V 管理员在运行虚拟机的同时将文件复制到虚拟机,且无需使 ...

  8. Linux监控实战-2

    vmstat命令 用法:vmstat 1 --->每个1s打印信息; vmstat命令是最常见的Linux/Unix监控工具,可以展现给定时间间隔的服务器的状态值,包括服务器的CPU使用率,内存 ...

  9. python logging bydate

    #!/usr/bin/env python #_*_coding:utf-8_*_ # vim : set expandtab ts=4 sw=4 sts=4 tw=100 : import logg ...

  10. 解除Team Foundation Server 5个用户的限制

    因为所有的用户必须加入到Team Foundation Licensed Users组内才能连接上TFS; 所以只要手工修改数据库,就可以破解5用户限制了.我们以TFSGuest4帐户做测试. 具体操 ...