2012-04-07 48 views
0

我有一个MainView'卡'布局有2项:MenuView和TestView。当我为MenuView设置活动时,它的宽度等于MainView的宽度,即1280.在点击menuView中的一个按钮之后的下一个动作中,我设置了TestView的活动,但它的宽度仅为0.任何人都可以为我解释吗?并给我一个方式向TestView的宽度设置为1280 这是我在煎茶触摸1代码:为什么宽度在setActiveItem之后改变?

'Ext.regController('MainController',{ 
    'index': function(options){ 
    if (!Test.views.mainView){ 
     Test.views.mainView = new Test.views.MainView(); 
    } 

    console.log('mainView width: '+ Test.views.mainView.getWidth()); 
    console.log('menuView width: '+ Test.views.menuView.getWidth()); 

    Test.views.mainView.setActiveItem(Test.views.menuView); 
}, 

'start': function(options){ 
    console.log('testView width: '+ Test.views.testView.getWidth()); 
    Test.views.mainView.setActiveItem(Test.views.testView); 
} 
}); 

Test.views.MainView = Ext.extend(Ext.Panel, { 
    fullscreen : 'true', 
    layout : 'card', 
    cardSwitchAnimation : 'slide', 
    initComponent : function(){ 
    Ext.apply(Test.views, { 
     menuView: new Test.views.MenuView(), 
     testView: new Test.views.TestView() 
    }); 

    this.items = [Test.views.menuView, Test.views.testView] 

    Test.views.MainView.superclass.initComponent.call(this); 
} 
    }); 

    Test.views.MenuView = Ext.extend(Ext.Panel,{ 
initComponent: function(){ 
    this.startButton = new Ext.Button({ 
     text: 'Start', 
     ui: 'action', 
     scope: this, 
     handler: function(){ 
      Ext.dispatch({ 
       controller: Test.controllers.mainController, 
       action: 'start' 
      }); 
     } 
    }); 

    this.exitButton = new Ext.Button({ 
     text: 'Exit', 
     ui: 'action', 
     scope: this, 
     handler: function(){ 
     } 
    }); 

    this.items = [this.startButton, this.exitButton] 

    Test.views.MenuView.superclass.initComponent.call(this); 
} 
    }); 

    Test.views.TestView = Ext.extend(Ext.Panel,{ 
    initComponent: function(){ 
    this.html = 'test'; 

    Test.views.TestView.superclass.initComponent.call(this); 
} 
    }); 

回答

0

您可以设置宽度与setWidth();

Test.views.testView.setWidth('50px'); 
+0

感谢您的回答,但您能解释为什么我的TestView的宽度更改为0.我意识到,首先激活的视图始终具有初始化宽度,但第二个宽度为0? – 2012-04-11 16:49:39

相关问题