2015-08-18 1 views
0

В приложении sencha Touch я использую slidenavigation, когда я нажимаю на значок гамбургера, меню открывается.Сенча прикосновения делает видимость закрытой в слайдвавизации

Теперь я хочу замаскировать активный вид, когда слайд меню открыт. Мой код slidenavigation как ниже

createMenu: function(){ 

     var items = [ 
      { 
       xtype:'button', 
       text:'Home', 
       ui: 'mainmenu', 


        listeners: { 
      tap: function(){ 

       if(Ext.Viewport.getMenus().left.isHidden()){ 
           Ext.Viewport.showMenu('left'); 

          } 
          else 
          { 
           Ext.Viewport.hideMenu('left'); 
           Ext.Viewport.setActiveItem({xtype: 'main'}); 
          } 
      } 
     } 
      }, 
      { 
       xtype:'button', 
       text:'Videos', 
       ui: 'mainmenu', 
       listeners: { 
      tap: function(){ 
       Ext.Viewport.setActiveItem({xtype: 'videolist'}); 
       if(Ext.Viewport.getMenus().left.isHidden()){ 
           Ext.Viewport.showMenu('left'); 

          } 
          else 
          { 
           Ext.Viewport.hideMenu('left'); 

          } 
       } 
      } 
      } 
     ]; 

     return Ext.create('Ext.Menu', { 


      width: 200, 
      scrollable: 'vertical', 
      items: items, 
      id: 'mainmenu', 
      cls: 'mainmenu', 
     }); 
    } 
+0

Если я правильно понял, что вы хотите отобразить маску над родительским представлением вашего экрана слайд-навигации/текущего представления? – Bauss

ответ

0

Чтобы показать свою маску, перед "Ext.Viewport.showMenu()" добавить эту строку:

Ext.Viewport.getActiveItem().setMasked(true); 

скрыть свой маска, после "Ext.Viewport.hideMenu()" добавить эту строку:

Ext.Viewport.getActiveItem().setMasked(false); 
Смежные вопросы