如何在容器中加载视图

时间:2012-11-05 10:42:25

标签: mobile touch extjs sencha-touch-2

这看起来很基本,但我是Sencha Touch的新手,仍然不知道如何实现它。

我想创建一个欢迎页面,它只在屏幕中央显示一个徽标。然后在5秒左右之后,它将加载主页面。

这是主视图的代码:

Ext.define('Sencha.view.Main', {
extend: 'Ext.Container',
xtype: 'mainpanel',
requires: [
    'Sencha.view.Opening'
],

config: {
    items: [{
        xtype: 'opening'
    }]
}
});

这是Opening.js的代码:

Ext.define('Sencha.view.Opening', {
extend: 'Ext.Panel',
xtype: 'opening',

config: {
    scrollable: false,
    fullscreen: true,
    html: '<div id="opening-logo"><img src="resources/images/logo.png"/></div>'
}
});

它应该在屏幕中央显示一个徽标。但事实上,它没有显示任何内容。我使用Ext.Panel而不是Ext.Container但它不起作用。

虽然它适用于Ext.navigation.View,但对于欢迎页面,它不应该在屏幕顶部有导航标题。

我做错了什么?哦,抱歉英语不好。

2 个答案:

答案 0 :(得分:0)

使用Sencha Touch进行开发时常见的错误是忘记设置视图的布局。布局定义了如何将内部组件放置在视图上。 You can find more here

对于想要在整个屏幕上使用一个组件的视图,您应该采用如下布局:

Ext.define('Sencha.view.Main', {
extend: 'Ext.Container',
xtype: 'mainpanel',
requires: [
    'Sencha.view.Opening'
],

config: {
    layout: 'fit',
    items: [{
        xtype: 'opening'
    }]
}
});

希望这有帮助

答案 1 :(得分:0)

您需要的声音更像是splash screen而不是视图...在已安装的应用中,启动画面会在应用开始和第一个视图加载之间自动显示...您可以配置app.js文件LINK中的启动屏幕属性 希望它有所帮助...