android:使用XML文件定义菜单项的选项菜单

2023-11-07 21:50

本文主要是介绍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文件定义菜单项的选项菜单的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/366480

相关文章

Python中模块graphviz使用入门

《Python中模块graphviz使用入门》graphviz是一个用于创建和操作图形的Python库,本文主要介绍了Python中模块graphviz使用入门,具有一定的参考价值,感兴趣的可以了解一... 目录1.安装2. 基本用法2.1 输出图像格式2.2 图像style设置2.3 属性2.4 子图和聚

windows和Linux使用命令行计算文件的MD5值

《windows和Linux使用命令行计算文件的MD5值》在Windows和Linux系统中,您可以使用命令行(终端或命令提示符)来计算文件的MD5值,文章介绍了在Windows和Linux/macO... 目录在Windows上:在linux或MACOS上:总结在Windows上:可以使用certuti

CentOS和Ubuntu系统使用shell脚本创建用户和设置密码

《CentOS和Ubuntu系统使用shell脚本创建用户和设置密码》在Linux系统中,你可以使用useradd命令来创建新用户,使用echo和chpasswd命令来设置密码,本文写了一个shell... 在linux系统中,你可以使用useradd命令来创建新用户,使用echo和chpasswd命令来设

Python使用Matplotlib绘制3D曲面图详解

《Python使用Matplotlib绘制3D曲面图详解》:本文主要介绍Python使用Matplotlib绘制3D曲面图,在Python中,使用Matplotlib库绘制3D曲面图可以通过mpl... 目录准备工作绘制简单的 3D 曲面图绘制 3D 曲面图添加线框和透明度控制图形视角Matplotlib

Pandas中统计汇总可视化函数plot()的使用

《Pandas中统计汇总可视化函数plot()的使用》Pandas提供了许多强大的数据处理和分析功能,其中plot()函数就是其可视化功能的一个重要组成部分,本文主要介绍了Pandas中统计汇总可视化... 目录一、plot()函数简介二、plot()函数的基本用法三、plot()函数的参数详解四、使用pl

使用Python实现IP地址和端口状态检测与监控

《使用Python实现IP地址和端口状态检测与监控》在网络运维和服务器管理中,IP地址和端口的可用性监控是保障业务连续性的基础需求,本文将带你用Python从零打造一个高可用IP监控系统,感兴趣的小伙... 目录概述:为什么需要IP监控系统使用步骤说明1. 环境准备2. 系统部署3. 核心功能配置系统效果展

使用Java将各种数据写入Excel表格的操作示例

《使用Java将各种数据写入Excel表格的操作示例》在数据处理与管理领域,Excel凭借其强大的功能和广泛的应用,成为了数据存储与展示的重要工具,在Java开发过程中,常常需要将不同类型的数据,本文... 目录前言安装免费Java库1. 写入文本、或数值到 Excel单元格2. 写入数组到 Excel表格

redis中使用lua脚本的原理与基本使用详解

《redis中使用lua脚本的原理与基本使用详解》在Redis中使用Lua脚本可以实现原子性操作、减少网络开销以及提高执行效率,下面小编就来和大家详细介绍一下在redis中使用lua脚本的原理... 目录Redis 执行 Lua 脚本的原理基本使用方法使用EVAL命令执行 Lua 脚本使用EVALSHA命令

Java 中的 @SneakyThrows 注解使用方法(简化异常处理的利与弊)

《Java中的@SneakyThrows注解使用方法(简化异常处理的利与弊)》为了简化异常处理,Lombok提供了一个强大的注解@SneakyThrows,本文将详细介绍@SneakyThro... 目录1. @SneakyThrows 简介 1.1 什么是 Lombok?2. @SneakyThrows

使用Python和Pyecharts创建交互式地图

《使用Python和Pyecharts创建交互式地图》在数据可视化领域,创建交互式地图是一种强大的方式,可以使受众能够以引人入胜且信息丰富的方式探索地理数据,下面我们看看如何使用Python和Pyec... 目录简介Pyecharts 简介创建上海地图代码说明运行结果总结简介在数据可视化领域,创建交互式地