zoukankan      html  css  js  c++  java
  • sencha touch 侧边栏扩展(只隐藏不销毁)

    基于Ext.ux.MenuButton改造而来,和它不同的是,不会每次都去销毁侧边栏,只是单纯的隐藏,属性配置方面没啥区别,每次点击按钮显示时,会触发showMenu事件/方法

    代码如下:

    /**
     *只隐藏不销毁的侧边栏
     * @private
     */
    Ext.define('ux.Menu.Context', {
        extend: 'Ext.Button',
        requires: ['Ext.ux.ContextMenu'],
        config: {
            menuItems: [],
            menuSide: 'right',
            menuCover: false,
            menuCls: null,
            listeners: {
                tap: 'onTap'
            }
        },
        initialize: function () {
            var me = this;
            me.$menu = Ext.create('Ext.ux.ContextMenu', {
                cls: me.getMenuCls(),
                items: me.getMenuItems(),
                listeners: {
                    scope: me,
                    hide: function () {
                        Ext.Viewport.hideMenu(me.getMenuSide());
                    }
                }
            });
            me.$menu.on({
                scope: me,
                tap: me.onMenuButtonTap,
                delegate: 'button'
            });
            Ext.Viewport.setMenu(me.$menu, {
                side: me.getMenuSide(),
                cover: me.getMenuCover()
            });
            me.callParent(arguments);
        },
        onTap: function (e) {
            this.fireAction('showMenu', [this], 'showMenu');
            Ext.Viewport.showMenu(this.getMenuSide());
        },
        onMenuButtonTap: function (button) {
            Ext.Viewport.hideMenu(this.getMenuSide());
        }
    });

    具体用法可参考官方blackberry示例

    效果图:

  • 相关阅读:
    单例类
    日期类2
    日历类
    日期转换类
    抓取网页内容并截图
    关于计时器与多线程
    让页面上图片不变形
    Thread 调用方法的方式
    语音放大缩小
    阻止Enter键回发到服务端Asp.net
  • 原文地址:https://www.cnblogs.com/mlzs/p/3808240.html
Copyright © 2011-2022 走看看