Для перехода карты при нажатии кнопки используйте метод setActiveItem в своем обработчике:
var tapHandler = function(button, event) {
mainPanel.setActiveItem(1);
};
Он также может напрямую ссылаться на компонент панели (что полезно, если вы когда-либо изменитепорядок карточек и индексы меняются).
Ваша панель инструментов прикреплена к внешнему контейнеру, а не к карточкам, поэтому она не изменится при смене карточек.Вместо этого вы можете прикрепить две разные панели инструментов к панелям карты, если хотите, чтобы они изменились (или, я полагаю, изменили это программно).
Также вы можете использовать тип «распорки», чтобы раздвинуть кнопки по сторонаминструмента.Вот ваш код, настроенный для того, чтобы делать то, что, я думаю, вы, вероятно, хотите (только для телефона, для ясности)
Ext.setup({
onReady: function() {
/*HANDLERS
*********************************************************************************/
var showAlert = function(btn, event) {
Ext.Msg.alert('Title', 'Diste ' + event.type + ' en el botón "' + btn.text + '"', Ext.emptyFn);
};
var tapHandler = function(button, event) {
mainPanel.setActiveItem(blue, {type: 'slide'});
};
var backHandler = function(button, event) {
mainPanel.setActiveItem(green, {type: 'slide', direction: 'right'});
};
/*UI
*********************************************************************************/
var green = new Ext.Panel({
dockedItems: [{
xtype: 'toolbar',
ui: 'light',
title: 'My Toolbar',
items: [{
text: 'Sobre App',
ui: 'round',
handler: showAlert
}, { xtype:'spacer'}, {
text: 'Check-in',
ui: 'forward',
handler: tapHandler
}]
}],
style: 'background-color:#3b7E3b',
html: 'Green'
});
var blue = new Ext.Panel({
dockedItems: [{
xtype: 'toolbar',
ui: 'light',
title: 'Check-in',
items: [{
text: 'Back',
ui: 'back',
handler: backHandler
}]
}],
style: 'background-color:#3b3b7E',
html: 'Blue'
});
var mainPanel = new Ext.Panel({
layout: 'card',
fullscreen : true,
items: [green, blue]
});
}
});