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相关推荐

  1. 【tkinter制作文本编辑器(3)】编辑菜单选项栏事件和右键菜单功能实现(撤销、还原、复制、粘贴、剪切、查找及全选)

    编辑菜单选项栏事件功能实现 1. 编辑菜单选项栏事件功能实现步骤 1.1 撤销 1.2 恢复 1.3 剪切 1.4 复制 1.5 粘贴 1.6 全选 1.7 查找 2. 快捷键绑定 3. 右键弹出菜单 ...

  2. Chrome 插件开发-右键菜单开发实战演示,浏览器页面右键菜单选项设置,插件右键菜单点击插件名跳转主页设置

    Chrome 插件开发 - 菜单选项 浏览器页面右键菜单选项设置 ① 核心代码演示 ② 效果展示 ③ 详细参数文档 插件右键菜单点击插件名跳转主页设置 ① 核心代码演示 ② 演示效果图 浏览器页面右键 ...

  3. 干货一:通过自定义PopupWindow实现QQ菜单选项功能

    概述 我们在使用手机QQ时,点击菜单键,会弹出如本案例说演示的效果图似的菜单选项. 实现方式有很多种,在这里我们来演示下如何通过自定义PopupWindow的方式一步一步的实现如上效果. 关于Popu ...

  4. Android_(菜单)选项菜单

    Android系统中菜单分为Options Menu.Context Menu.Sub Men三种 Options Menu和Context Menu属于一级菜单 Sub Menu属于Options ...

  5. VirtualBox虚拟机菜单选项隐藏后重现

    不知道什么原因虚拟机上面的菜单选项没有了如图1 所示,导致设置双向粘贴时不能安装增强设备 这时只要按ctrl+c就行了,,一定要是右边的Ctrl.如图2所示,菜单又出现了.

  6. 点击菜单选项,右侧主体区新增子界面(Tab)的实现

    今天是2019年小年后一天,还有三天回家过年. 今天记录一下一种前端页面的效果的实现,这种效果很常见,一般用于网站后台系统的前端页面.一般后台系统会分为顶部导航栏,左边的菜单栏和右边的主体区.有一种效 ...

  7. 计算机右键菜单更换顺序,win10系统调整右键菜单选项顺序的恢复技巧

    有关win10系统调整右键菜单选项顺序的操作方法想必大家有所耳闻.但是能够对win10系统调整右键菜单选项顺序进行实际操作的人却不多.其实解决win10系统调整右键菜单选项顺序的问题也不是难事,小编这 ...

  8. Android中上下文菜单选项--ContextMenu

    Android系统中的ContextMenu(上下文菜单)类似于PC中的右键弹出菜单,当一个视图注册到一个上下文菜单时,执行一个在该对象上的"长按"动作,将出现一个提供相关功能的浮 ...

  9. 在java中怎样做当鼠标选中文字单击鼠标右键出现菜单,定制鼠标右键“新建”菜单选项...

    当您在Windows桌面单击鼠标右键,选择"新建"来建立快捷方式或文件夹时,除了快捷方式与文件夹这2个选项之外,还有一个很长的文件菜单,包含了电脑中安装的一些应用软件,您可以很容易 ...

最新文章

  1. DNS--3--Master DNS架设
  2. 没有读过的书,就不要瞎推荐了!
  3. 字节面试现场,问我如何高效设计一个LRU
  4. [云炬创业基础笔记]第九章企业的法律形态测试2
  5. 服务器维护:FTP无法连接
  6. matlab GUI 设计 自学笔记
  7. HMC支持管理服务器数量及适合POWER6服务器的HMC型号
  8. python程序设计与应用第4章实验
  9. Apple Music成为全球第二大音乐流媒体服务 远落后Spotify
  10. 在CentOS上安装7zip和使用
  11. 理解WebSocket心跳及重连机制以及加强版的reconnectingwebsocket.js实现
  12. 贝叶斯优化混合核极限学习机回归预测
  13. gps高斯utm_高斯-克吕格投影与UTM投影
  14. 检测手机号是否开通微信
  15. 【thinkphp 基础 3】配合phpstudy进行验证码拓展安装
  16. 【代码】获取日期所在月份的 月初、月末的日期
  17. NPOI使用ShiftRows向excel插入行,并复制原有样式
  18. 《计算机网络》以太网
  19. 华硕z170-p+英特尔i7-6700k+16GB黑苹果EFI引导文件
  20. 求n以内的最大素数 ← C++

热门文章

  1. 《Cisco QoS认证考试指南(第2版)》一导读
  2. 原创经验:微信小程序开发总结
  3. delphi string.split 按照任意字符串分割语句
  4. java向MySQL插入当前时间的四种方式和java时间日期格式化的几种方法(案例说明)...
  5. ueditor 1.4.3 JSP 配置
  6. [转]MVC实用架构设计(三)——EF-Code First(3):使用T4模板生成相似代码
  7. PHP——获取上传文件的后缀名
  8. JavaScript--事件模型
  9. userAgent,JS用户代理检测——判断浏览器内核、浏览器、浏览器平台、windows操作系统版本、移动设备、游戏系统
  10. Javascript函数和事件