我不確定我瞭解如何在Sencha Touch 2應用中使用配置文件視圖。針對不同配置文件加載不同視圖
Ext.define(App.view.phone.PhonePanel, {
extend: 'Ext.tab.Panel',
xtype: 'Compare'
config: {
items: [
{ xtype: 'PanelA' },
{ xtype: 'Panel B' }
]
}
})
Ext.define(App.view.tablet.TabletPanel, {
extend: 'Ext.Panel',
xtype: 'Compare'
config: {
layout: 'vbox',
items: [
{ xtype: 'PanelA', flex: 1 },
{ xtype: 'Panel B', flex: 1 }
]
}
})
然後在手機配置文件,它增加了「PhonePanel」作爲視圖,以及平板配置文件添加了「TabletPanel」;然後當這個特定的配置文件被加載時,它只會加載這些額外的視圖。
我遇到的問題是,煎茶從兩個配置文件加載文件,並做
this.getAview().push({xtype:'Compare'});
當手機情景模式後,它實際上推動了平板電腦的版本的xtype的。這裏發生了什麼?
幫助,但引發更多問題。我的印象是,使用配置文件是一種限制文件加載數量的方式(但在手機配置文件處於活動狀態時,它仍會加載平板電腦查看文件)。 我的目標是能夠共享導航和控制器,但只加載適合設備的視圖。 即使使用if語句檢查每個push(),我遇到了僅將Panel1和Panel2加載到TabletPanel中的問題。 – andyjv
很高興幫助。多分辨率環境可以通過多種方式處理。一種方法是:爲兩個環境製作一個標準前綴,並將所使用的一個保存在全局變量中。因此,在運行時,您會根據分辨率檢測平板電腦或手機,然後存儲像this.resolution ='phone'這樣的變量;那麼當你調用要呈現的視圖時,你可以這樣做this.getAview()。push({xtype:resolution +'compare'});這種方法的缺點是,您需要以編程方式調用每個視圖元素的渲染效率,這可能是效率低下或幾乎不可能的。 – BBaker
我傾向於使用單獨的文件夾和文件來容納我的主視圖腳手架,但隨後使用其中繼承了佈局的共享自定義元素。我不確定什麼最適合您的項目。 – BBaker