Sencha touch 2 Ext.application startupImage

Sencha touch 2 Ext.application startupImage,sencha-touch-2,Sencha Touch 2,我从Sencha Touch 2.1中的旋转木马示例开始。在app.js文件中,我看到了“startupImage”属性,它定义了我们想要使用的图像的不同大小。然而,我似乎找不到任何关于这个财产的文件。在文档中,他们讨论了苹果iOS世界特有的“”和“”。但如果我们使用Sencha Touch,那是因为我们不想与特定的公司捆绑在一起(这似乎很明显) 我想知道的是,它是如何工作的?有两个参数,一个是resoluton,第二个是png文件的路径。我们可以修改第一个参数,还是必须制作符合这些数字的png

我从Sencha Touch 2.1中的旋转木马示例开始。在app.js文件中,我看到了“startupImage”属性,它定义了我们想要使用的图像的不同大小。然而,我似乎找不到任何关于这个财产的文件。在文档中,他们讨论了苹果iOS世界特有的“”和“”。但如果我们使用Sencha Touch,那是因为我们不想与特定的公司捆绑在一起(这似乎很明显)

我想知道的是,它是如何工作的?有两个参数,一个是resoluton,第二个是png文件的路径。我们可以修改第一个参数,还是必须制作符合这些数字的png文件

Ext.application({    

    name: 'TestSencha',

    requires: [
        'Ext.MessageBox'
    ],

    views: ['Main', 'PicViewer', 'Extras'],

    icon: {
        '57': 'resources/icons/Icon.png',
        '72': 'resources/icons/Icon~ipad.png',
        '114': 'resources/icons/Icon@2x.png',
        '144': 'resources/icons/Icon~ipad@2x.png'
    },

    isIconPrecomposed: true,

   startupImage: {
       '320x460': 'resources/startup/320x460.jpg',
       '640x920': 'resources/startup/640x920.png',
       '768x1004': 'resources/startup/768x1004.png',
       '748x1024': 'resources/startup/748x1024.png',
       '1536x2008': 'resources/startup/1536x2008.png',
       '1496x2048': 'resources/startup/1496x2048.png'
    },

// rest of code goes here....

我建议您看看st2sdk中的src/core/extmore.js

基本上,它扫描应用程序配置中定义的
startupImage
,测试设备的操作系统及其设备比率,并像这样调用addStartupImage

if (Ext.os.is.iPad) {
    if (devicePixelRatio >= 2) {
        // Retina iPad - Landscape
        if ('1496x2048' in startupImage) {
            addStartupImage(startupImage['1496x2048'], '(orientation: landscape)');
        }
...
下面是添加StartupImage的
addStartupImage

function addStartupImage(href, media) {
    var link = document.createElement('link');
    link.setAttribute('rel', 'apple-touch-startup-image');
    link.setAttribute('href', href);
    if (media) {
        link.setAttribute('media', media);
    }
    head.append(link);
}
下面是解释


希望这有帮助

下面的答案是否解决了您的问题。如果是,则接受它,否则请告诉我们什么不起作用以及您遇到了什么错误。对不起!我只是忘了把它标为答案。谢谢!