Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/extjs/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android Sencha Touch 2.3(';设置菜单';)中的非画布菜单不';我不能在安卓2.3上工作_Android_Extjs_Menu_Sencha Touch 2_Android 2.3 Gingerbread - Fatal编程技术网

Android Sencha Touch 2.3(';设置菜单';)中的非画布菜单不';我不能在安卓2.3上工作

Android Sencha Touch 2.3(';设置菜单';)中的非画布菜单不';我不能在安卓2.3上工作,android,extjs,menu,sencha-touch-2,android-2.3-gingerbread,Android,Extjs,Menu,Sencha Touch 2,Android 2.3 Gingerbread,我已经实现了新的菜单组件。它在安卓4.x、iOS6和iOS7上运行良好,但在安卓2.3上(既不在设备上也不在模拟器上)运行不正常。我遵循了的示例代码 有人在安卓2.3上实现了这一点吗? 我收集了一个小样本,这是它在Chrome、Android 4.x、iOS6和iOS7上的外观: 这是安卓2.3点击“showMenu”后的外观: 以下是我添加菜单的方式: initialize: function() { var menu = Ext.create('MenuTest.view.Men

我已经实现了新的菜单组件。它在安卓4.x、iOS6和iOS7上运行良好,但在安卓2.3上(既不在设备上也不在模拟器上)运行不正常。我遵循了的示例代码

有人在安卓2.3上实现了这一点吗?

我收集了一个小样本,这是它在Chrome、Android 4.x、iOS6和iOS7上的外观:

这是安卓2.3点击“showMenu”后的外观:

以下是我添加菜单的方式:

initialize: function() {
    var menu = Ext.create('MenuTest.view.MenuView');

    Ext.Viewport.setMenu(menu, {
        side: 'right',
        cover:  false
    });

    this. add({
        xtype: 'button',
        text: 'showMenu',
        listeners: {
            tap: function(button, e, eOpts) {
                Ext.Viewport.toggleMenu('right');
            }
        }
    })
}
我的菜单视图只有一个标签:

config: {
    items: [
        {
            xtype: 'label',
            html: 'Test Menu'
        }
    ]
}

是否有人在Android 2.3上使用了此功能?触摸src默认视口中的设置菜单中似乎有一个bug。。。我们的解决方案:

// if (menu.$reveal) {  // original
   if (Ext.os.is.Android && Ext.os.version.lt('3') || menu.$reveal) {  // fixed
       Ext.getBody().insertFirst(menu.element);
       // Bugfix: inner buttons of slider overlap original container while sliding - change z-index
       Ext.get('ext-viewport').setStyle('z-index', '1');
    }

// if (menu.$reveal) {  // original
   if (Ext.os.is.Android && Ext.os.version.lt('3') || menu.$reveal) {  // fixed
       if (Ext.browser.getPreferredTranslationMethod() != 'scrollposition') {
           menu.translate(0, 0);
       }
    }

下面是一个基于您的答案的简短片段,您可以将其放在
launch()
函数的顶部(或与其他ST修复程序一起):

// Bugfix for Off-Canvas menu in Android 2.3
Ext.viewport.Android.override({
  showMenu: function (side) {
    if (Ext.os.version.lt('3')) {
      Ext.get('ext-viewport').setStyle('z-index', '1');
      this.getMenus()[side].$reveal = true;
    }
    this.callOverridden([side]);
  }
});