1. Sench Touch Carousel (컨베이어 벨트) 구현하기

Ext.define("HelloWorld.view.Main", {

    extend: 'Ext.Panel',

  

    config: {

          layout:'vbox',

          items:[

                     {

                                xtype:'toolbar',

                                title:'Carousel',

                     },

                     {

                                xtype:'carousel',

                                flex:1,

                                direction:'horizontal',

                                items:[

                                          {

                                                     xtype:'panel',

                                                     style:'background-color:red;',

                                                     html:'1',

                                          },                   

                                          {

                                                     xtype:'panel',

                                                     style:'background-color:blue;',

                                                     html:'2',

                                          },

                                          {

                                                     xtype:'panel',

                                                     style:'background-color:green;',

                                                     html:'3',

                                          }                   

                                ]

                     }

           ]

    }

});

[결과화면]

     

 

 

2. Sencha Touch Image 구현하기

임의의 이미지 하나를 저장하여, Sencha Touch 프로젝트 내, resources/images/ 폴더로 복사함.

Ext.define("HelloWorld.view.Main", {

    extend: 'Ext.Panel',

  

    config: {

          layout:'vbox',

          items:[

                     {

                                xtype:'toolbar',

                                title:'Carousel',

                     },

                     {

                                xtype:'carousel',

                                flex:1,

                                direction:'horizontal',

                                items:[

                               {

                                                     xtype:'image',

                                                     src:'resources/images/girlsgeneration.png',

                                          },

                                          {

                                                     xtype:'panel',

                                                     style:[

                                                                'background-color:transparent;',

                                                                'background-image:url(resources/images/girlsgeneration.png);',

                                                                'background-repeat:no-repeat;',

                                                                'border:0;',

                                                                'background-size:100% 100%;',].join(''),

                                          }                              

          

                                ]

                     }

           ]

    }

});

[결과화면] : 홀~ 쭉해진...

        

 

3. Sencha Touch Button 적용

Ext.define("HelloWorld.view.Main", {

    extend: 'Ext.Panel',

  

    config: {

          layout:'vbox',

          items:[

                     {

                                xtype:'toolbar',

                                title:'Carousel',

                     },

                     {

                                xtype:'carousel',

                                flex:1,

                                direction:'horizontal',

                                items:[

                               {

                                                     xtype:'image',

                                                     src:'resources/images/girlsgeneration.png',

                                          },

                                          {

                                                     xtype:'panel',

                                                     style:[

                                                                'background-color:transparent;',

                                                                'background-image:url(resources/images/girlsgeneration.png);',

                                                                'background-repeat:no-repeat;',

                                                                'border:0;',

                                                                'background-size:100% 100%;',

                                                     ].join(''),                                                     

                                          },

                                          {

                                                     xtype: 'button',

                                                     text : 'Click me !',

                                                     handler:function()

                                                     {

                                                                Ext.Msg.alert('알람', '이것은 메시지창!', Ext.emptyFn);

                                                     }

                                          },                                                             

                                ]

                     }

           ]

    }

});

 [결과화면] 세번째 항목 전체화면이 버튼으로 적용되었고, sencha Touch에서 제공되는 깔끔한 alert 창을 볼 수 있다.

 

 

 

4. 폰 크기로 화면 설정하기 

  Ext.os.is를 사용하여, 폰일 경우와 일반 자동차일 경우, 파별화된 서비스 제공

  app.js를 수정

launch: function() {

        // Destroy the #appLoadingIndicator element

        Ext.fly('appLoadingIndicator').destroy();

 

                     var mainView = Ext.create('HelloWorld.view.Main');

                    

                     if(!Ext.os.is.Phone)

                     {

                                Ext.Viewport.add({

                                          xtype:'panel',

                                          width:480,

                                          height:800,

                                          centered:true,

                                          modal: true,

                                          hideOnMaksTop:false,

                                          layout : 'fit',

                                          items:[mainView]

                                });

                     }

                     else

                     {

                                Ext.Viewport.add(mainView);

                     }

[실행화면]

 

1) Browser 종류 :  Ext.browser.is

 

Safari

Chrome

Opera

Doln

webOSBrowser

ChromeMobile

Firefox

IE

Other

 

[적용예]

xtype: 'button',

text: 'test',

handler: function () {

         console.log('Safari : ' + Ext.browser.is('Safari'));

         console.log('Chrome : ' + Ext.browser.is('Chrome'));

         console.log('Opera : ' + Ext.browser.is('Opera'));

         console.log('Dolfin : ' + Ext.browser.is('Dolfin'));

         console.log('webOSBrowser : ' + Ext.browser.is('webOSBrowser'));

         console.log('ChromeMobile : ' + Ext.browser.is('ChromeMobile'));

         console.log('Firefox : ' + Ext.browser.is('Firefox'));

         console.log('IE : ' + Ext.browser.is('IE'));

         console.log('Other : ' + Ext.browser.is('Other'));

 

 

2)  OS 종류 :  Ext.os.is  

iOS

Android

webOS

BlackBerry

RIMTablet

MacOS

Windows

Linux

Bada

Other

 

[적용예]

xtype: 'button',

text: 'test',

handler: function () {

            console.log('iOS : ' + Ext.os.is('iOS'));

            console.log('Android : ' + Ext.os.is('Android'));

            console.log('webOS : ' + Ext.os.is('webOS'));

            console.log('BlackBerry : ' + Ext.os.is('BlackBerry'));

            console.log('RIMTablet : ' + Ext.os.is('RIMTablet'));

            console.log('MacOS : ' + Ext.os.is('MacOS'));

            console.log('Windows : ' + Ext.os.is('Windows'));

            console.log('Linux : ' + Ext.os.is('Linux'));

            console.log('Bada : ' + Ext.os.is('Bada'));

            console.log('Other : ' + Ext.os.is('Other'));

}

 

 

Word 파일 : 모바일 웹앱 전문 개발자 과정_0406.docx

 

 

Posted by 꿈을펼쳐라
,