##长按文本显示菜单

##长按编辑框显示菜单

activity_main.xml

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"android:layout_width="fill_parent"android:layout_height="fill_parent"android:orientation="vertical" ><TextView android:id ="@+id/tv"android:layout_width="match_parent"android:layout_height="wrap_content"android:textColor ="#000000"android:fontFamily ="Arial"android:textSize="20sp"android:text="例1菜单项改为XML定义" /><EditText android:id ="@+id/myEd"android:layout_width="match_parent"android:layout_height="wrap_content" />
</LinearLayout>

myed_menu.xml

<?xml version="1.0" encoding="utf-8"?>
<menu xmlns:android="http://schemas.android.com/apk/res/android" >   <item android:id="@+id/edPaste"android:title="粘贴"android:orderInCategory ="4" /><item android:id="@+id/edDelete"android:title="删除"android:orderInCategory="5"/>  </menu>

tv_menu.xml

<?xml version="1.0" encoding="utf-8"?>
<menu xmlns:android="http://schemas.android.com/apk/res/android" ><item android:id="@+id/copy"android:title="复制"android:orderInCategory ="1" /><item android:id="@+id/cut"android:title="剪切"android:orderInCategory="2"/><item android:id="@+id/delete"android:title="删除"android:orderInCategory="3" /></menu>

MainActivity.java

package com.example.ch5_2_1;import android.app.Activity;
import android.os.Bundle;
import android.view.ContextMenu;
import android.view.MenuItem;
import android.view.View;
import android.widget.EditText;
import android.widget.TextView;
import android.view.ContextMenu.ContextMenuInfo;
import android.view.MenuInflater;public class MainActivity extends Activity {private String tempStr; // 保存临时字符串@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_main);//为对象注册ContextMenu事件registerForContextMenu(findViewById(R.id.tv));registerForContextMenu(findViewById(R.id.myEd));}@Overridepublic void onCreateContextMenu(ContextMenu menu, View v, ContextMenuInfo menuInfo) {menu.setHeaderIcon(R.drawable.ic_launcher);if (v == findViewById(R.id.tv)) {if (menu.size() == 0) {MenuInflater inflater = getMenuInflater();inflater.inflate(R.menu.tv_menu, menu);}}if (v == findViewById(R.id.myEd)) {if (menu.size() == 0) {MenuInflater inflater = getMenuInflater();inflater.inflate(R.menu.myed_menu, menu);}}}@Overridepublic boolean onContextItemSelected(MenuItem item) {TextView tv = (TextView) findViewById(R.id.tv);EditText myEd = (EditText) findViewById(R.id.myEd);switch (item.getItemId()) {case R.id.copy:tempStr = tv.getText().toString();break;case R.id.cut:tempStr = tv.getText().toString();tv.setText("");break;case R.id.delete:tv.setText("");break;case R.id.edPaste:myEd.setText(tempStr);break;case R.id.edDelete:myEd.setText("");break;}return true;}
}

android:使用XML文件定义菜单项的选项菜单相关推荐

  1. 如何动态添加菜单/菜单项、子菜单、右键菜单

    有关菜单的操作主要用到 CMenu 类,当然也可用相应 API 函数, CMenu 类只是 MFC 对 API 中操作菜单的函数的封装而已. 不过能用类就尽量用类,类的组织方式好呗,代码看着也舒服. ...

  2. android选项菜单源代码,Android应用程序----UI界面控件(菜单menu)

    菜单是应用程序中非常重要的组成部分,能够在不占用界面空间的前提下,为应用程序提供了统一的功能和设置界面,并为程序开发人员提供了易于使用的编程接口 Android系统支持三种菜单 选项菜单(Option ...

  3. Android菜单:选项菜单+上下文菜单+子菜单

    菜单是人机交互的重要接口,在 Android SDK 中,提供了菜单类 android.view.Menu,以完成与菜单有关的操作. Android SDK 提供三种菜单,分别如下. 1)Option ...

  4. android之三大菜单(子菜单,选项菜单,上下文菜单)

    今天班级同学聚餐,真的是喝的有点多,本来计划今天要完成这篇博客.有点喝多了,写的不好请见谅.想仔细了解的话,看官网说的,是中文的. https://developer.android.com/guid ...

  5. Android开发:Menu选项菜单

    创建选项菜单的步骤: 1.覆盖Activity的onCreateOptionsMenu(Menu menu)函数 2.调用menu的add()方法添加菜单项(MenuItem),调用MenuItem的 ...

  6. 选项菜单_上下文菜单_子菜单_图标菜单_自定义菜单_联系人标记弹出菜单

    菜单控件<Menu > 选项菜单(Option Menu) 单击Menu实体按钮弹出,android中把它叫做option menu 上下文菜单(ContextMenu 是Menu的子接口 ...

  7. Cocos2dx 菜单项控件-Menu

    除了标签以外,按钮也是很重要的UI控件,在游戏菜单中,按钮是必不可少的控件,它可以对游戏画面进行操作,例如游戏开始菜单项.暂停菜单项和退出菜单项等. 在对菜单项进行学习时,有必要先对MenuItem类 ...

  8. 微信公众帐号开发教程第14篇-自定义菜单的创建及菜单事件响应

    微信5.0发布 2013年8月5日,伴随着微信5.0 iPhone版的发布,公众平台也进行了重要的更新,主要包括: 1)运营主体为组织,可选择成为服务号或者订阅号: 2)服务号可以申请自定义菜单: 3 ...

  9. 微信公众帐号开发-自定义菜单的创建及菜单事件响应的实例

    微信开发公众平台自定义菜单需要花钱认证才能实现,不想花钱只能玩测试账号了,不过这并不影响开发.我的开发都是基于柳峰老师的微信公众平台应用开发做的. 只要我们使用公众平台测试账号就可以开发自定义菜单了, ...

  10. 微信公众号开发---自定义菜单的创建及菜单事件响应(java)

    微信5.0发布 2013年8月5日,伴随着微信5.0 iPhone版的发布,公众平台也进行了重要的更新,主要包括: 1)运营主体为组织,可选择成为服务号或者订阅号: 2)服务号可以申请自定义菜单: 3 ...

最新文章

  1. java监听组合按键_js监听组合按键
  2. 部署在云上的Fiori launchpad,其tile信息是从哪里取出来的
  3. Z.ExtensionMethods 一个强大的开源扩展库
  4. Python url编码、url解码
  5. W3c 中文 文档,很不错
  6. 使用.NET Core 3进行Linux编程:第3章
  7. 又来啦 11道软件测试经典面试题
  8. 《Java设计模式》刘伟 超清晰版本 下载链接
  9. Jmeter使用技巧集锦大全
  10. 什么时候使用PD和PI——基于平衡小车分析
  11. 硅谷钢铁侠的的传奇人生
  12. 基于神经网络的房价预测,房价预测 神经网络
  13. BCM业务连续性管理
  14. 二十年后的回眸(3)——快乐的单身汉
  15. 适合长期电脑办公人群的养生小技巧
  16. CKPlayer视频地址加密方法
  17. 网咖虚拟服务器主机,为什么网吧的主机这么便宜??但是玩大型游戏又不卡
  18. Vmware虚拟机文件介绍、克隆及文件名称更改方法
  19. 【Matlab】imresize的用法
  20. Linux arping命令测试IP地址冲突

热门文章

  1. CSS 网页适配 iPhoneX,就是这么简单
  2. APP设计师拿到APP产品原型开始,七步搞定APP设计(转)
  3. 3dmax做的屋顶种植园
  4. 大学计算机python答案在哪找_大学计算机--Python算法实践,中国大学MOOC(慕课)答案公众号搜题...
  5. 首次披露!华为数字化转型规划“三阶十二步法”
  6. Python基础训练100题
  7. JB的Python之旅-爬虫篇-MM图
  8. 企业易信正式发布 主打通讯能力高效沟通
  9. 基于风险指引理论的核电站运行风险监测与预警系统平台
  10. 分众无线CEO徐茂栋为新媒体解决效果短板