Android 如何在sencha touch中禁用选项卡面板导航
在我的应用程序中,我正在显示一个包含四个选项卡的选项卡面板,默认情况下显示第一个选项卡 每当用户选择其他三个选项卡中的一个时,我需要通过检查本地存储用户令牌变量来检查用户是否已登录 如果我没有从本地存储用户令牌变量中获取有效值,或者用户尚未登录,那么我必须通过在选项卡面板上显示覆盖页面来请求用户登录 我设计了覆盖面板(),这样当用户选择另一个选项卡并且还没有登录时,我就会显示覆盖登录面板Android 如何在sencha touch中禁用选项卡面板导航,android,extjs,sencha-touch,sencha-touch-2,Android,Extjs,Sencha Touch,Sencha Touch 2,在我的应用程序中,我正在显示一个包含四个选项卡的选项卡面板,默认情况下显示第一个选项卡 每当用户选择其他三个选项卡中的一个时,我需要通过检查本地存储用户令牌变量来检查用户是否已登录 如果我没有从本地存储用户令牌变量中获取有效值,或者用户尚未登录,那么我必须通过在选项卡面板上显示覆盖页面来请求用户登录 我设计了覆盖面板(),这样当用户选择另一个选项卡并且还没有登录时,我就会显示覆盖登录面板 我的问题是,当用户选择另一个选项卡时,所选选项卡屏幕被启用,并且该屏幕显示在覆盖登录屏幕下如何禁用选项卡导航
我的问题是,当用户选择另一个选项卡时,所选选项卡屏幕被启用,并且该屏幕显示在覆盖登录屏幕下如何禁用选项卡导航,以便用户未登录时,无法看到其他选项卡屏幕,只能看到第一个选项卡屏幕?以下是解决问题的示例代码片段: 您可以从
控制器
处理这些事情:
Ext.define('MyTest.controller.Home',{
extend : 'Ext.app.Controller',
config : {
refs : {
tabHome : "#mainView tab[iconCls=home]",
tabProduct : "#mainView tab[iconCls=products]",
},
control : {
tabHome : {
tap : 'showHome'
},
tabProduct : {
tap : 'showProduct'
},
}
},
showHome : function () {
if(getLoginState() == true){
Ext.Viewport.getActiveItem().getAt(1).setActiveItem('homeView');
}
else{
Ext.Viewport.getActiveItem().getAt(0).setActiveItem('dashboardView');
showLoginOverlay();
}
},
showProduct : function () {
if(getLoginState() == true){
Ext.Viewport.getActiveItem().getAt(2).setActiveItem('productView');
}
else{
Ext.Viewport.getActiveItem().getAt(0).setActiveItem('dashboardView');
showLoginOverlay();
}
},
});
谢谢。mainView是选项卡面板的id?homeView和dashboardView是xtype?
mainView
是class
,由Ext.tab扩展。Panel
表示tabpanel
,homeView
和dashboardView
是视图类的id
().getAt(0).setActiveItem('firstTabScreen')对我有效,即第一个选项卡屏幕出现在用户选择的选项卡屏幕中,但我不希望用户看到所选选项卡(选项卡面板giu通过在该选项卡图标周围创建3d框来显示正确的所选选项卡)是第二个选项卡和第一个选项卡屏幕。@维斯瓦很抱歉,但不知道确切的问题是什么。