【Android】5.6 弹出菜单(PopUp Menus)
分类:C#、Android、VS2015;
创建日期:2016-02-07
一、简介
功能描述:用户单击按钮弹出菜单。当用户选择一个菜单项,会触发MenuItemClick事件并让弹出的菜单消失;如果用户在菜单外单击,则直接消失弹出的菜单。当菜单消失时,会引发DismissEvent事件(利用此事件可在菜单消失时做一些后续处理)。
二、示例7-- Demo07PopupMenu
1、运行效果

2、添加菜单项
在Resources文件夹下添加一个menu子文件夹,然后在此子文件夹下添加一个名为demo07_popup_menu.xml的文件:
<?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 1" />
<item android:id="@+id/item1"
android:title="item 2" />
<item android:id="@+id/item1"
android:title="item 3" />
</menu>
3、添加demo07_PopupMenu.axml
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical"
android:layout_width="fill_parent"
android:layout_height="fill_parent">
<Button
android:id="@+id/popupButton"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:text="@string/showPopup" />
</LinearLayout>
保存所有文件。
4、添加Demo07PopupMenu.cs
using Android.App;
using Android.OS;
using Android.Widget; namespace ch05demos.SrcActivity
{
[Activity(Label = "Demo07PopupMenu")]
public class Demo07PopupMenu : Activity
{
protected override void OnCreate(Bundle savedInstanceState)
{
base.OnCreate(savedInstanceState);
SetContentView(Resource.Layout.demo07_Popup); Button btn = FindViewById<Button>(Resource.Id.popupButton);
btn.Click += (s, arg) =>
{
PopupMenu menu = new PopupMenu(this, btn);
menu.Inflate(Resource.Menu.demo07_popup_menu);
menu.MenuItemClick += (sender, args) =>
{
string str = string.Format("你选择了:{0}", args.Item);
Toast.MakeText(this,str, ToastLength.Short).Show();
};
menu.DismissEvent += (sender, args) =>
{
//菜单消失后可在此事件中做一些后续处理
};
menu.Show();
};
}
}
}
运行观察效果。
【Android】5.6 弹出菜单(PopUp Menus)的更多相关文章
- 【转】android创建Popwindow弹出菜单的两种方式
方法一的Activity package com.app.test02; import android.app.Activity; import android.os.Bundle; import a ...
- android 长按弹出菜单,复制,粘贴,全选
<!-- 定义基础布局LinearLayout --> <LinearLayout xmlns:android="http://schemas.android.com/ap ...
- Android 按Menu弹出菜单
\res\anim\menu_in.xml 资源文件(动画) <?xml version="1.0" encoding="UTF-8"?> & ...
- Android 使用PopupWindow实现弹出菜单
在本文当中,我将会与大家分享一个封装了PopupWindow实现弹出菜单的类,并说明它的实现与使用. 因对界面的需求,android原生的弹出菜单已不能满足我们的需求,自定义菜单成了我们的唯一选择,在 ...
- Android开发技巧——使用PopupWindow实现弹出菜单
在本文当中,我将会与大家分享一个封装了PopupWindow实现弹出菜单的类,并说明它的实现与使用. 因对界面的需求,android原生的弹出菜单已不能满足我们的需求,自定义菜单成了我们的唯一选择,在 ...
- 【转】 教你如何创建类似QQ的android弹出菜单
原文地址:http://www.apkbus.com/android-18034-1-1.html 大家可能看到android的自带的系统菜单比较难看,如图: 2011-12-4 23:13 上传 下 ...
- android 单选、多选弹出菜单
菜单单选窗口: import android.app.Activity;import android.app.AlertDialog;import android.content.DialogInte ...
- 【Android】创建Popwindow弹出菜单的两种方式
方法一的Activity package com.app.test02; import android.app.Activity; import android.os.Bundle; import a ...
- Android ListView两种长按弹出菜单方式
转自:http://www.cnblogs.com/yejiurui/p/3247527.html package com.wyl.download_demo; import java.util.Ar ...
随机推荐
- 新浪微博SSO登陆机制(转载)
原文地址: http://www.cnblogs.com/AloneSword/p/3840548.html 最近在使用sina微博时,经常性交替使用 weibo.com 和 t.sina.cm.cn ...
- php json数据处理中文编码
<?php function Notice(){ include './include/conn.php'; //数据库链接文件 $sql_notice = mysql_query('SELEC ...
- Java从零开始学三十五(JAVA IO- 字节流)
一.字节流 FileOutputStream是OutputStream 的直接子类 FileInputStream也是InputStream的直接子类 二.文本文件的读写 2.1.字节输入流 Test ...
- 使用 Spring 2.5 TestContext 测试框架
Spring 2.5 TestContext 测试框架用于测试基于 Spring 的程序,TestContext 测试框架和低版本 Spring 测试框架没有任何关系,是一个全新的基于注解的测试框架, ...
- vue 数据劫持 响应式原理 Observer Dep Watcher
1.vue响应式原理流程图概览 2.具体流程 (1)vue示例初始化(源码位于instance/index.js) import { initMixin } from './init' import ...
- Struts中的常量
以下是Struts中常量的一些经常使用配置,保存下来留作积累吧. <?xml version="1.0" encoding="UTF-8"?> &l ...
- python之函数用法id(),了解即可
# -*- coding: utf-8 -*- #python 27 #xiaodeng #python之函数用法id(),了解即可 #http://www.cnblogs.com/hongfei/p ...
- 11、final详解
1.final修饰成员变量 即该成员被修饰为常量,意味着不可修改. 对于值类型表示值不可变:对于引用类型表示地址不可变 其初始化可以在三个地方 ①:定义时直接赋值 ②:构造函数 ③:代码块{}或者静态 ...
- Windows下安装OpenSSL及其使用
方法一: Windows binaries can be found here: http://www.slproweb.com/products/Win32OpenSSL.html You can ...
- Java内存泄露原因详解
一.Java内存回收机制 不论哪种语言的内存分配方式,都需要返回所分配内存的真实地址,也就是返回一个指针到内存块的首地址.Java中对象是采用new或者反射的方法创建的, 这些对象的创建都是在堆(He ...