• Sencha touch 初体验


    我们将在本文中讲解一个Sencha Touch的例子。

    PS:模拟器访问本地server的地址是10.0.2.2:8080,而不是127.0.0.1:8080

    1、导入touch的相关Javascript,CSS以及资源文件

    2、index.html

    <!DOCTYPE html> 
    <html> 
    <head> 
         <meta http-equiv="Content-Type" content="text/html; charset=utf-8"> 
         <meta name="viewport" content="width=device-width; initial-scale=1.0; maximum-scale=1.0; minimum-scale=1.0; user-scalable=0;" /> 
         <title>Sencha Touch List Example</title> 
        <!-- import touch css and js --> 
         <link rel="stylesheet" href="touch/resources/css/sencha-touch.css" type="text/css"> 
        <script type="text/javascript" src="touch/sencha-touch-debug.js"></script><script type="text/javascript" src="src/index.js"></script> 
    </head> 
    <body></body> 
    </html> 

    3、index.js

      1: /**  
      2:  * 前言:  
      3:  * 此例子来自sencha touch的官方example  
      4:  * 注释用语如有不当请见谅。  
      5:  */  
      6: //相信这是每个页面都是一样的  
      7: Ext.setup({  
      8:     tabletStartupScreen: 'tablet_startup.png',  
      9:     phoneStartupScreen: 'phone_startup.png',  
     10:     icon: 'icon.png',  
     11:     glossOnIcon: false,  
     12:     onReady : function() {  
     13:         //注册一个名为“Contact”的模型,显示的字段为firstName和lastName  
     14:         Ext.regModel('Contact', {  
     15:             fields: ['firstName', 'lastName']  
     16:         });  
     17:           
     18:         //定义一个对象,有点类似Android里面的BaseAdapter  
     19:         var groupingBase = {  
     20:             itemTpl: '<div class="contact2"><strong>{firstName}</strong> {lastName}</div>',  
     21:             selModel: {//选择模型,单选;应该还有多选  
     22:                 mode: 'SINGLE',  
     23:                 allowDeselect: true  
     24:             },  
     25:             grouped: true,//分组  
     26:             indexBar: true, //索引栏  
     27:               
     28:             //定义点击事件  
     29:             onItemDisclosure: {  
     30:                 scope: 'test',  
     31:                 //事件处理  
     32:                 handler: function(record, btn, index) {  
     33:                     alert('Disclose more info for ' + record.get('firstName'));  
     34:                 }  
     35:             },  
     36:             //数据仓库  
     37:             store: new Ext.data.Store({  
     38:                 model: 'Contact',//与上面注册的模型对应  
     39:                 sorters: 'firstName',//排序字段  
     40:                   
     41:                 //分组title显示的数据源,为firstName的首字母  
     42:                 getGroupString : function(record) {  
     43:                     return record.get('firstName')[0];  
     44:                 },  
     45:                 //就是数据了  
     46:                 data: [  
     47:                     {firstName: 'Aaron', lastName: 'Conran'},  
     48:                     {firstName: 'Ape', lastName: 'Evilias'},  
     49:                     {firstName: 'Dave', lastName: 'Kaneda'},  
     50:                     {firstName: 'Michael', lastName: 'Mullany'},  
     51:                     {firstName: 'Abraham', lastName: 'Elias'},  
     52:                     {firstName: 'Jay', lastName: 'Robinson'},  
     53:                     {firstName: 'Tommy', lastName: 'Maintz'},  
     54:                     {firstName: 'Ed', lastName: 'Spencer'},  
     55:                     {firstName: 'Jamie', lastName: 'Avins'},  
     56:                     {firstName: 'Ed', lastName: 'Spencer'},  
     57:                     {firstName: 'Jamie', lastName: 'Avins'},  
     58:                     {firstName: 'Aaron', lastName: 'Conran'},  
     59:                     {firstName: 'Dave', lastName: 'Kaneda'},  
     60:                     {firstName: 'Ape', lastName: 'Evilias'},  
     61:                     {firstName: 'Dave', lastName: 'Kaneda'},  
     62:                     {firstName: 'Michael', lastName: 'Mullany'},  
     63:                     {firstName: 'Abraham', lastName: 'Elias'},  
     64:                     {firstName: 'Jay', lastName: 'Robinson'},  
     65:                     {firstName: 'Tommy', lastName: 'Maintz'},  
     66:                     {firstName: 'Ed', lastName: 'Spencer'},  
     67:                     {firstName: 'Jamie', lastName: 'Avins'},  
     68:                     {firstName: 'Aaron', lastName: 'Conran'},  
     69:                     {firstName: 'Dave', lastName: 'Kaneda'},  
     70:                     {firstName: 'Michael', lastName: 'Mullany'},  
     71:                     {firstName: 'Abraham', lastName: 'Elias'},  
     72:                     {firstName: 'Jay', lastName: 'Robinson'},  
     73:                     {firstName: 'Tommy', lastName: 'Maintz'},  
     74:                     {firstName: 'Ed', lastName: 'Spencer'},  
     75:                     {firstName: 'Jamie', lastName: 'Avins'},  
     76:                     {firstName: 'Aaron', lastName: 'Conran'},  
     77:                     {firstName: 'Dave', lastName: 'Kaneda'},  
     78:                     {firstName: 'Michael', lastName: 'Mullany'},  
     79:                     {firstName: 'Abraham', lastName: 'Elias'},  
     80:                     {firstName: 'Jay', lastName: 'Robinson'},  
     81:                     {firstName: 'Michael', lastName: 'Mullany'},  
     82:                     {firstName: 'Abraham', lastName: 'Elias'},  
     83:                     {firstName: 'Jay', lastName: 'Robinson'},  
     84:                     {firstName: 'Zed', lastName: 'Zacharias'}  
     85:                 ]  
     86:             })  
     87:         };  
     88:    
     89:         /**  
     90:          * 应该是判断设备类型把  
     91:          * Phone和其他类型有所不同,主要就是屏幕大小了  
     92:          */  
     93:         if (!Ext.is.Phone) {  
     94:             new Ext.List(Ext.apply(groupingBase, {  
     95:                 floating: true,  
     96:                  350,  
     97:                 height: 370,  
     98:                 centered: true,  
     99:                 modal: true,  
    100:                 hideOnMaskTap: false  
    101:             })).show();  
    102:         }  
    103:         else {  
    104:             new Ext.List(Ext.apply(groupingBase, {  
    105:                 fullscreen: true  //全屏  
    106:             }));  
    107:         }  
    108:     }  
    109: }); 

    4、部署到服务器访问就行了


  • 相关阅读:
    Ubuntu下SVN命令行递归加入文件夹文件(免去一个一个的加入 --force)
    oschina插件和扩展
    oschina iOS代码库
    oschina 开发工具
    oschina应用工具
    oschina程序开发
    网络爬虫 kamike.collect
    WebFetch 是无依赖极简网页爬取组件
    commoncrawl 源码库是用于 Hadoop 的自定义 InputFormat 配送实现
    JAVA平台上的网络爬虫脚本语言 CrawlScript
  • 原文地址:https://www.cnblogs.com/fyq891014/p/3294803.html
Copyright © 2020-2023  润新知