0

Sencha Touch 2.1 のカルーセルの例から始めました。app.js ファイルには、使用する画像のさまざまなサイズを定義する「startupImage」プロパティがあります。しかし、このプロパティに関するドキュメントが見つからないようです。ドキュメントでは、Apple iOS の世界に固有の "" と "" について説明しています。しかし、Sencha Touch を使用するのは、特定の会社に縛られたくないからです (それは明らかです)。

私が知りたいのは、それがどのように機能するかです。パラメータは 2 つあります。1 つは解像度、もう 1 つは 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....
4

1 に答える 1

1

ST2 SDK のsrc/core/Ext-more.jsをご覧になることをお勧めします。

基本的にstartupImage、アプリケーションの構成で定義されたものをスキャンし、デバイスの OS とそのデバイスの比率をテストし、addStartupImage を次のように呼び出します。

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

そして、ここにある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);
}

説明はこちらです。

お役に立てれば

于 2012-10-08T18:50:41.940 に答える