Sencha touch 初体验
创始人
2024-07-18 02:01:52
0

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

效果图:Sencha touch官方一个list的例子
效果图:Sencha touch官方一个list的例子

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

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

2、index.html

  1.  1:  
  2.  2:  
  3.  3:  
  4.  4:      
  5.  5:      
  6.  6:     Sencha Touch List Example 
  7.  7:      
  8.  8:      
  9.  9:      
  10. 10:  
  11. 11:  
  12. 12:  

3、index.js

  1.  1: /**  
  2.   2:  * 前言:  
  3.   3:  * 此例子来自sencha touch的官方example  
  4.   4:  * 注释用语如有不当请见谅。  
  5.   5:  */  
  6.   6: //相信这是每个页面都是一样的  
  7.   7: Ext.setup({  
  8.   8:     tabletStartupScreen: 'tablet_startup.png',  
  9.   9:     phoneStartupScreen: 'phone_startup.png',  
  10.  10:     icon: 'icon.png',  
  11.  11:     glossOnIcon: false,  
  12.  12:     onReady : function() {  
  13.  13:         //注册一个名为“Contact”的模型,显示的字段为firstName和lastName  
  14.  14:         Ext.regModel('Contact', {  
  15.  15:             fields: ['firstName', 'lastName']  
  16.  16:         });  
  17.  17:           
  18.  18:         //定义一个对象,有点类似Android里面的BaseAdapter  
  19.  19:         var groupingBase = {  
  20.  20:             itemTpl: '{firstName} {lastName}
',  
  •  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:                 width: 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、部署到服务器访问就行了

    文章来源:http://www.cnblogs.com/halzhang/archive/2010/11/20/1882497.html

    【编辑推荐】

    1. Web移动应用的未来:使用HTML5和CSS
    2. 细数六大支持智能手机的JS框架
    3. 走进四大主流移动Web开发框架
    4. Web移动应用开发框架的8个技术构想

    相关内容

    热门资讯

    如何允许远程连接到MySQL数... [[277004]]【51CTO.com快译】默认情况下,MySQL服务器仅侦听来自localhos...
    如何利用交换机和端口设置来管理... 在网络管理中,总是有些人让管理员头疼。下面我们就将介绍一下一个网管员利用交换机以及端口设置等来进行D...
    施耐德电气数据中心整体解决方案... 近日,全球能效管理专家施耐德电气正式启动大型体验活动“能效中国行——2012卡车巡展”,作为该活动的...
    Windows恶意软件20年“... 在Windows的早期年代,病毒游走于系统之间,偶尔删除文件(但被删除的文件几乎都是可恢复的),并弹...
    20个非常棒的扁平设计免费资源 Apple设备的平面图标PSD免费平板UI 平板UI套件24平图标Freen平板UI套件PSD径向平...
    德国电信门户网站可实时显示全球... 德国电信周三推出一个门户网站,直观地实时提供其安装在全球各地的传感器网络检测到的网络攻击状况。该网站...
    为啥国人偏爱 Mybatis,... 关于 SQL 和 ORM 的争论,永远都不会终止,我也一直在思考这个问题。昨天又跟群里的小伙伴进行...
    《非诚勿扰》红人闫凤娇被曝厕所... 【51CTO.com 综合消息360安全专家提醒说,“闫凤娇”、“非诚勿扰”已经被黑客盯上成为了“木...