android:使用XML文件定义菜单项的选项菜单
##长按文本显示菜单
##长按编辑框显示菜单
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文件定义菜单项的选项菜单相关推荐
- 如何动态添加菜单/菜单项、子菜单、右键菜单
有关菜单的操作主要用到 CMenu 类,当然也可用相应 API 函数, CMenu 类只是 MFC 对 API 中操作菜单的函数的封装而已. 不过能用类就尽量用类,类的组织方式好呗,代码看着也舒服. ...
- android选项菜单源代码,Android应用程序----UI界面控件(菜单menu)
菜单是应用程序中非常重要的组成部分,能够在不占用界面空间的前提下,为应用程序提供了统一的功能和设置界面,并为程序开发人员提供了易于使用的编程接口 Android系统支持三种菜单 选项菜单(Option ...
- Android菜单:选项菜单+上下文菜单+子菜单
菜单是人机交互的重要接口,在 Android SDK 中,提供了菜单类 android.view.Menu,以完成与菜单有关的操作. Android SDK 提供三种菜单,分别如下. 1)Option ...
- android之三大菜单(子菜单,选项菜单,上下文菜单)
今天班级同学聚餐,真的是喝的有点多,本来计划今天要完成这篇博客.有点喝多了,写的不好请见谅.想仔细了解的话,看官网说的,是中文的. https://developer.android.com/guid ...
- Android开发:Menu选项菜单
创建选项菜单的步骤: 1.覆盖Activity的onCreateOptionsMenu(Menu menu)函数 2.调用menu的add()方法添加菜单项(MenuItem),调用MenuItem的 ...
- 选项菜单_上下文菜单_子菜单_图标菜单_自定义菜单_联系人标记弹出菜单
菜单控件<Menu > 选项菜单(Option Menu) 单击Menu实体按钮弹出,android中把它叫做option menu 上下文菜单(ContextMenu 是Menu的子接口 ...
- Cocos2dx 菜单项控件-Menu
除了标签以外,按钮也是很重要的UI控件,在游戏菜单中,按钮是必不可少的控件,它可以对游戏画面进行操作,例如游戏开始菜单项.暂停菜单项和退出菜单项等. 在对菜单项进行学习时,有必要先对MenuItem类 ...
- 微信公众帐号开发教程第14篇-自定义菜单的创建及菜单事件响应
微信5.0发布 2013年8月5日,伴随着微信5.0 iPhone版的发布,公众平台也进行了重要的更新,主要包括: 1)运营主体为组织,可选择成为服务号或者订阅号: 2)服务号可以申请自定义菜单: 3 ...
- 微信公众帐号开发-自定义菜单的创建及菜单事件响应的实例
微信开发公众平台自定义菜单需要花钱认证才能实现,不想花钱只能玩测试账号了,不过这并不影响开发.我的开发都是基于柳峰老师的微信公众平台应用开发做的. 只要我们使用公众平台测试账号就可以开发自定义菜单了, ...
- 微信公众号开发---自定义菜单的创建及菜单事件响应(java)
微信5.0发布 2013年8月5日,伴随着微信5.0 iPhone版的发布,公众平台也进行了重要的更新,主要包括: 1)运营主体为组织,可选择成为服务号或者订阅号: 2)服务号可以申请自定义菜单: 3 ...
最新文章
- java监听组合按键_js监听组合按键
- 部署在云上的Fiori launchpad,其tile信息是从哪里取出来的
- Z.ExtensionMethods 一个强大的开源扩展库
- Python url编码、url解码
- W3c 中文 文档,很不错
- 使用.NET Core 3进行Linux编程:第3章
- 又来啦 11道软件测试经典面试题
- 《Java设计模式》刘伟 超清晰版本 下载链接
- Jmeter使用技巧集锦大全
- 什么时候使用PD和PI——基于平衡小车分析
- 硅谷钢铁侠的的传奇人生
- 基于神经网络的房价预测,房价预测 神经网络
- BCM业务连续性管理
- 二十年后的回眸(3)——快乐的单身汉
- 适合长期电脑办公人群的养生小技巧
- CKPlayer视频地址加密方法
- 网咖虚拟服务器主机,为什么网吧的主机这么便宜??但是玩大型游戏又不卡
- Vmware虚拟机文件介绍、克隆及文件名称更改方法
- 【Matlab】imresize的用法
- Linux arping命令测试IP地址冲突
热门文章
- CSS 网页适配 iPhoneX,就是这么简单
- APP设计师拿到APP产品原型开始,七步搞定APP设计(转)
- 3dmax做的屋顶种植园
- 大学计算机python答案在哪找_大学计算机--Python算法实践,中国大学MOOC(慕课)答案公众号搜题...
- 首次披露!华为数字化转型规划“三阶十二步法”
- Python基础训练100题
- JB的Python之旅-爬虫篇-MM图
- 企业易信正式发布 主打通讯能力高效沟通
- 基于风险指引理论的核电站运行风险监测与预警系统平台
- 分众无线CEO徐茂栋为新媒体解决效果短板