安卓菜单选项 Popup_Menu / Context_Menu / Option_Menu
Option_Menu 右上角的菜单
optionmenu.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"tools:context="${relativePackage}.${activityClass}" ><Buttonandroid:id="@+id/button1"android:layout_width="wrap_content"android:layout_height="wrap_content"android:layout_alignParentBottom="true"android:layout_centerHorizontal="true"android:text="ContextMenu>>" /></RelativeLayout>
mymenu.xml
这个文件需要自己在res
里面创建文件夹menu
<?xml version="1.0" encoding="utf-8"?>
<menu xmlns:android="http://schemas.android.com/apk/res/android" ><item android:id="@+id/item1" android:title="添加" /><item android:id="@+id/item2" android:title="删除" /><item android:id="@+id/item3" android:title="修改" /><item android:id="@+id/item4" android:title="查询" /><item android:id="@+id/item5" android:title="刷新" />
</menu>
Option_Menu.java
import android.app.Activity;
import android.content.Intent;
import android.content.ClipData.Item;
import android.os.Bundle;
import android.view.Menu;
import android.view.MenuItem;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.Toast;public class Option_Menu extends Activity {@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.optionmenu);Button button1 = (Button)findViewById(R.id.button1);button1.setOnClickListener(new OnClickListener() {@Overridepublic void onClick(View arg0) {new Intent(Option_Menu.this,Context_Menu.class);Intent intent = new Intent(Option_Menu.this,Context_Menu.class);startActivity(intent);}});}//创建选项菜单@Overridepublic boolean onCreateOptionsMenu(Menu menu) { //第一次创建菜单时调用//getMenuInflater()获取菜单填充器 inflate填充菜单getMenuInflater().inflate(R.menu.mymenu, menu);Toast.makeText(this, "你点击了 菜单 按钮", 3000).show();return true;}//给选项菜单添加事件@Overridepublic boolean onOptionsItemSelected(MenuItem item) {switch (item.getItemId()) {case R.id.item1:Toast.makeText(this, "你点击了 添加 按钮", 3000).show();break;case R.id.item2:Toast.makeText(this, "你点击了 删除 按钮", 3000).show();break;case R.id.item3:Toast.makeText(this, "你点击了 修改 按钮", 3000).show();break;case R.id.item4:Toast.makeText(this, "你点击了 查询 按钮", 3000).show();break;case R.id.item5:Toast.makeText(this, "你点击了 刷新 按钮", 3000).show();break;default:break;}return super.onOptionsItemSelected(item);}//动态的修改选项菜单@Overridepublic boolean onPrepareOptionsMenu(Menu menu) {//移除菜单文件menu.removeItem(R.id.item5);//更新菜单invalidateOptionsMenu();return super.onPrepareOptionsMenu(menu);}}
Context_Menu 上下文菜单
长按才有反映
androidManifest.xml
<activityandroid:name=".Context_Menu"android:label="@string/app_name" >
</activity>
contextmenu.xml
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"android:layout_width="match_parent"android:layout_height="match_parent" ><ListView android:id="@+id/list1"android:layout_width="wrap_content"android:layout_height="wrap_content"/><Buttonandroid:id="@+id/button2"android:layout_width="wrap_content"android:layout_height="wrap_content"android:layout_alignParentBottom="true"android:layout_centerHorizontal="true"android:text="PopupMenu>>" /></RelativeLayout>
import android.app.Activity;
import android.content.Intent;
import android.os.Bundle;
import android.view.ContextMenu;
import android.view.MenuItem;
import android.view.View;
import android.view.ContextMenu.ContextMenuInfo;
import android.view.View.OnClickListener;
import android.widget.ArrayAdapter;
import android.widget.Button;
import android.widget.ListView;
import android.widget.Toast;public class Context_Menu extends Activity{@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.contextmenu);ListView listView1 = (ListView)findViewById(R.id.list1);String[] item = {"文件1","文件2","文件3","文件4"};ArrayAdapter<String> adapter = new ArrayAdapter<String>(Context_Menu.this, android.R.layout.simple_dropdown_item_1line, item);listView1.setAdapter(adapter);//给视图提供上下文菜单registerForContextMenu(listView1);Button button2 = (Button)findViewById(R.id.button2);button2.setOnClickListener(new OnClickListener() {@Overridepublic void onClick(View arg0) {Intent intent = new Intent(Context_Menu.this,Popup_Menu.class);startActivity(intent);}});}//创建上下文菜单@Overridepublic void onCreateContextMenu(ContextMenu menu, View v,ContextMenuInfo menuInfo) {//1.视图长按是显示的菜单对象 2.完成长按操作的视图 3.附加信息super.onCreateContextMenu(menu, v, menuInfo);menu.setHeaderTitle("文件操作");//1.组ID 2.菜单项ID(itemID) 3.顺序 4.显示的信息menu.add(1,2,1,"全选");menu.add(1,1,1,"复制");menu.add(1,3,0,"粘贴");}@Overridepublic boolean onContextItemSelected(MenuItem item) {switch (item.getItemId()) {case 2:Toast.makeText(this, "你点击了 全选 按钮", 3000).show();return true;case 1:Toast.makeText(this, "你点击了 复制 按钮", 3000).show();return true;case 3:Toast.makeText(this, "你点击了 粘贴 按钮", 3000).show();return true;default:return false;}}
}
Popup_Menu
就是给一个textView类似的内容 加一个点击菜单
AndroidManifest.xml
下面这个没用 在首页设计后面代码时
<activityandroid:name=".Popup_Menu"android:label="@string/app_name" >
</activity>
main_activity .xml
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"android:layout_width="match_parent"android:layout_height="match_parent" ><TextViewandroid:id="@+id/textView1"android:layout_width="wrap_content"android:layout_height="wrap_content"android:layout_alignParentLeft="true"android:layout_alignParentTop="true"android:layout_marginLeft="15dp"android:layout_marginTop="15dp"android:text="Hello!"android:textSize="25sp" /></RelativeLayout>
MainActivity .java
import android.app.Activity;
import android.os.Bundle;
import android.view.ContextMenu;
import android.view.ContextMenu.ContextMenuInfo;
import android.view.Menu;
import android.view.MenuInflater;
import android.view.MenuItem;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.ArrayAdapter;
import android.widget.ListView;
import android.widget.PopupMenu.OnMenuItemClickListener;
import android.widget.TextView;
import android.widget.Toast;public class MainActivity extends Activity {@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_main);TextView textView = (TextView) findViewById(R.id.textView1);textView.setOnClickListener(new OnClickListener() {@Overridepublic void onClick(View arg0) {// 创建弹出式菜单对象(最低版本11)android.widget.PopupMenu popup = new android.widget.PopupMenu(MainActivity.this, arg0);// 第二个参数是绑定的那个view// 获取菜单填充器MenuInflater inflater = popup.getMenuInflater();// 填充菜单inflater.inflate(R.menu.mymenu, popup.getMenu());// 绑定菜单项的点击事件popup.setOnMenuItemClickListener(new OnMenuItemClickListener() {@Overridepublic boolean onMenuItemClick(MenuItem arg0) {switch (arg0.getItemId()) {case R.id.item1:Toast.makeText(MainActivity.this, "你点击了 添加 按钮",3000).show();return true;case R.id.item2:Toast.makeText(MainActivity.this, "你点击了 删除 按钮",3000).show();return true;case R.id.item3:Toast.makeText(MainActivity.this, "你点击了 修改 按钮",3000).show();return true;case R.id.item4:Toast.makeText(MainActivity.this, "你点击了 查询 按钮",3000).show();return true;case R.id.item5:Toast.makeText(MainActivity.this, "你点击了 刷新 按钮",3000).show();return true;default:return false;}}});// 显示(这一行代码不要忘记了)popup.show();}});}}
安卓菜单选项 Popup_Menu / Context_Menu / Option_Menu相关推荐
- 【tkinter制作文本编辑器(3)】编辑菜单选项栏事件和右键菜单功能实现(撤销、还原、复制、粘贴、剪切、查找及全选)
编辑菜单选项栏事件功能实现 1. 编辑菜单选项栏事件功能实现步骤 1.1 撤销 1.2 恢复 1.3 剪切 1.4 复制 1.5 粘贴 1.6 全选 1.7 查找 2. 快捷键绑定 3. 右键弹出菜单 ...
- Chrome 插件开发-右键菜单开发实战演示,浏览器页面右键菜单选项设置,插件右键菜单点击插件名跳转主页设置
Chrome 插件开发 - 菜单选项 浏览器页面右键菜单选项设置 ① 核心代码演示 ② 效果展示 ③ 详细参数文档 插件右键菜单点击插件名跳转主页设置 ① 核心代码演示 ② 演示效果图 浏览器页面右键 ...
- 干货一:通过自定义PopupWindow实现QQ菜单选项功能
概述 我们在使用手机QQ时,点击菜单键,会弹出如本案例说演示的效果图似的菜单选项. 实现方式有很多种,在这里我们来演示下如何通过自定义PopupWindow的方式一步一步的实现如上效果. 关于Popu ...
- Android_(菜单)选项菜单
Android系统中菜单分为Options Menu.Context Menu.Sub Men三种 Options Menu和Context Menu属于一级菜单 Sub Menu属于Options ...
- VirtualBox虚拟机菜单选项隐藏后重现
不知道什么原因虚拟机上面的菜单选项没有了如图1 所示,导致设置双向粘贴时不能安装增强设备 这时只要按ctrl+c就行了,,一定要是右边的Ctrl.如图2所示,菜单又出现了.
- 点击菜单选项,右侧主体区新增子界面(Tab)的实现
今天是2019年小年后一天,还有三天回家过年. 今天记录一下一种前端页面的效果的实现,这种效果很常见,一般用于网站后台系统的前端页面.一般后台系统会分为顶部导航栏,左边的菜单栏和右边的主体区.有一种效 ...
- 计算机右键菜单更换顺序,win10系统调整右键菜单选项顺序的恢复技巧
有关win10系统调整右键菜单选项顺序的操作方法想必大家有所耳闻.但是能够对win10系统调整右键菜单选项顺序进行实际操作的人却不多.其实解决win10系统调整右键菜单选项顺序的问题也不是难事,小编这 ...
- Android中上下文菜单选项--ContextMenu
Android系统中的ContextMenu(上下文菜单)类似于PC中的右键弹出菜单,当一个视图注册到一个上下文菜单时,执行一个在该对象上的"长按"动作,将出现一个提供相关功能的浮 ...
- 在java中怎样做当鼠标选中文字单击鼠标右键出现菜单,定制鼠标右键“新建”菜单选项...
当您在Windows桌面单击鼠标右键,选择"新建"来建立快捷方式或文件夹时,除了快捷方式与文件夹这2个选项之外,还有一个很长的文件菜单,包含了电脑中安装的一些应用软件,您可以很容易 ...
最新文章
- DNS--3--Master DNS架设
- 没有读过的书,就不要瞎推荐了!
- 字节面试现场,问我如何高效设计一个LRU
- [云炬创业基础笔记]第九章企业的法律形态测试2
- 服务器维护:FTP无法连接
- matlab GUI 设计 自学笔记
- HMC支持管理服务器数量及适合POWER6服务器的HMC型号
- python程序设计与应用第4章实验
- Apple Music成为全球第二大音乐流媒体服务 远落后Spotify
- 在CentOS上安装7zip和使用
- 理解WebSocket心跳及重连机制以及加强版的reconnectingwebsocket.js实现
- 贝叶斯优化混合核极限学习机回归预测
- gps高斯utm_高斯-克吕格投影与UTM投影
- 检测手机号是否开通微信
- 【thinkphp 基础 3】配合phpstudy进行验证码拓展安装
- 【代码】获取日期所在月份的 月初、月末的日期
- NPOI使用ShiftRows向excel插入行,并复制原有样式
- 《计算机网络》以太网
- 华硕z170-p+英特尔i7-6700k+16GB黑苹果EFI引导文件
- 求n以内的最大素数 ← C++
热门文章
- 《Cisco QoS认证考试指南(第2版)》一导读
- 原创经验:微信小程序开发总结
- delphi string.split 按照任意字符串分割语句
- java向MySQL插入当前时间的四种方式和java时间日期格式化的几种方法(案例说明)...
- ueditor 1.4.3 JSP 配置
- [转]MVC实用架构设计(三)——EF-Code First(3):使用T4模板生成相似代码
- PHP——获取上传文件的后缀名
- JavaScript--事件模型
- userAgent,JS用户代理检测——判断浏览器内核、浏览器、浏览器平台、windows操作系统版本、移动设备、游戏系统
- Javascript函数和事件