一、 实际效果
 
演示地址

二、实现原理
主要用Button+List组件,和遮罩实现。

1. 点击Button时,将List下移展开。
2. 再次点击Button,或者选中List中的某一项时,将List上移收缩。

三、使用方法

1. 拖动UIPopupMenu自定义组件到场景exml上

2. 根据需求自定义UIPopupMenuSkin,并为组件UIPopupMenu设置皮肤(自定义皮肤UIPopupMenuSkin具体查看Demo)

3. 根据需求自定义List条目皮肤(自定义List条目皮肤具体查看Demo)

4. 代码中设置List条目皮肤,并增加二级菜单选项

这样就行了。

5. 自定义皮肤
UIPopupMenu和List的皮肤可根据需求自替换。
可自行自定义多种皮肤,不同图片,大小高宽等,适应不同场合。比如UIPopupMenuSkinA,UIPopupMenuSkinB,UIPopupMenuSkinC。
但是皮肤里面组件的命名必须一致对应上,比如menuBg必须是menuBg,否则代码会找不着这个组件而报错。

 

四、Demo下载

【咸鱼教程】一个简单的弹出二级菜单UIPopupMenu的更多相关文章

  1. 代码录播:jQueryMobile 实现一个简单的弹出框效果

    今天给大家带来的是 jQueryMobile 实现一个简单的弹出框效果,有兴趣的童鞋可以试试哦~ ^_^ 阅读原文:www.gbtags.com  

  2. 转:jQuery弹出二级菜单

    <html> <head> <meta http-equiv="content-type" content="text/html; char ...

  3. 纯css实现鼠标感应弹出二级菜单

    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/ ...

  4. 一个简单的弹出层ProgressBar

    https://github.com/eltld/SimpleLoading

  5. 关于bootstrap弹出二级对话框的使用

    弹出二级对话框,即在对话框的基础上再弹出一个对话框.这对于CRM管理类系统来说应用场景很常见.看到网上有关于实现二级弹出框的方法,需要在一级对话框页面上添加不少css样式.其实,完全可以不用这么麻烦. ...

  6. JavaScript 实现简单的 弹出框关闭框

    JavaScript 实现简单的 弹出框关闭框 知识点: 1.javaScript 添加HTML标签 2.javaScript 添加HTML标签属性 3.javaScript 追加元素 代码献上: & ...

  7. EditorGUILayout.EnumPopup 枚举弹出选择菜单

    http://www.unity蛮牛.com/thread-25490-1-1.html http://www.unity蛮牛.com/m/Script/EditorGUILayout.EnumPop ...

  8. WPF:设置弹出子菜单的是否可用状态及效果

    需求: 设置弹出子菜单(二级)项仅首项可用,其他项均不可用:不可用是呈灰色效果. 注: 菜单项都是依据层级数据模板.具体格式如下: StackBlock{TextBlock{Image}.TextBl ...

  9. ListView的使用(二)长按弹出上下文菜单

    public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView ...

随机推荐

  1. 单例模式__new__

    单例模式,使用__new__ __new__是构造函数, __init__是初始化方法,先调用了__new__返回了实例,__init__给这个实例初始化绑定一些属性. class Singleton ...

  2. Linux静态库生成

    Linux上的静态库,其实是目标文件的归档文件. 在Linux上创建静态库的步骤如下: 写源文件,通过 gcc -c xxx.c 生成目标文件. 用 ar 归档目标文件,生成静态库. 配合静态库,写一 ...

  3. SpringMVC由浅入深day02_4springmvc校验

    4 springmvc校验 4.1 校验Validation理解 b/s系统中对http请求数据的校验多数在客户端进行,这也是出于简单及用户体验性上考虑,但是在一些安全性要求高的系统中服务端校验是不可 ...

  4. javascript拖拽操作

    <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...

  5. polarssl rsa & aes 加密与解密

    上周折腾加密与解密,用了openssl, crypto++, polarssl, cyassl, 说起真的让人很沮丧,只有openssl & polarssl两个库的RSA & AES ...

  6. 使用powerdesigner连接MySQL并设置逆向工程图文教程

    我用的是Win7 x64的系统,安装了64为的mysql-connector-odbc-5.1.10-winx64.msi在数据源中test正常,但在powerdesigner连接Mysql总是弹出“ ...

  7. Scala单例对象和伴生对象

    1.Scala单例对象 Scala单例对象是十分重要的,没有像在Java一样,有静态类.静态成员.静态方法,但是Scala提供了object对象,这个object对象类似于Java的静态类,它的成员. ...

  8. SaltStack salt 命令

    salt 是服务端远程批量操作多台客户端需要使用到的命令,常见用法如下: salt '*' # 指定对所有客户端主机进行操作 salt 'minion01' # 指定对单台客户端主机进行操作 salt ...

  9. Django SimpleCMDB WSGI

    一.WSGI 介绍 (1) 在前面的学习中,我们是通过 python manage.py runserver 0.0.0.0:8000 来启动并访问开发服务器的:(2) 但在实际中我们是通过直接访问 ...

  10. Java bean中布尔类型使用注意

    JavaBean是一个标准,遵循标准的Bean是一个带有属性和getters/setters方法的Java类. JavaBean的定义很简单,但是还有有一些地方需要注意,例如Bean中含有boolea ...