好吧,我正在测试包装在Phonegap中的Sencha Touch框架,并使用Android 2.2编译成HTC Desire。此应用程序的目的只是为了熟悉Framework及其(in)功能。
我正在使用MVC模型。该应用程序包含一个项目列表,这些项目使用代理从json文件加载到数据存储中。单击其中一个项目时,将显示详细信息页面。
app.views.viewport.setActiveItem(app.views.placesList, options.animation);
但在转换之前,存在某种延迟,并且在非常短的时间内显示白屏。我制作了一个视频,以使其更清晰:
http://www.youtube.com/watch?v=uW8hspMKqfc
下面的代码显示了我的应用程序的结构和功能:
模型
app.models.Place = Ext.regModel("app.models.Place", {
fields: [
{name: "name", type: "string"},
{name: "location", type: "string"}
]
});
app.stores.places = new Ext.data.Store({
model: "app.models.Place",
proxy: {
type: 'ajax',
url : 'js/app/data/products.json',
reader: {
type: 'json',
root: 'products'
}
}
});
查看
app.views.PlacesList = Ext.extend(Ext.Panel, {
fullscreen: true,
scroll: 'vertical',
dockedItems: [{
xtype: 'toolbar',
title: 'PlacesList'
}],
items: [{
xtype: 'list',
store: app.stores.places,
itemTpl: '{name}',
onItemDisclosure: function () {
Ext.dispatch({
controller: app.controllers.places,
action: 'show'
});
}
}],
initComponent: function() {
app.stores.places.load();
app.views.PlacesList.superclass.initComponent.apply(this, arguments);
}
});
控制器
app.controllers.places = new Ext.Controller({
show: function(options) {
app.views.viewport.setActiveItem(app.views.placeDetail, options.animation);
},
back: function(options) {
app.views.viewport.setActiveItem(app.views.placesList, options.animation);
}
});
我想知道经验滞后是否只是Sencha Touch附带的,或来自代码。
提前致谢,
杰拉德
答案 0 :(得分:0)
答案 1 :(得分:0)
澄清以前的答案:
如果您只是为卡片布局中的面板使用幻灯片动画(例如通过Ext.TabPanel),只需添加以下CSS / SCSS代码,一切都会好的。
.x-panel {
-webkit-backface-visibility: hidden;
}
我正在使用Sencha Touch 1.0.1a和PhoneGap 0.9.4。
归功于Steffen Hiller的文章帖子:http://www.senchatouchbits.com/6/fixing-flickering-of-animations-in-phonegap.html