摘要: Panels enyo.Panelskind用来满足常用的多种应用布局。使用enyo.Panels,control可以使用carousel(旋转木马,一组折叠的panels),在panels之间消失切换的卡片布局或一个grid网格。Behavior任何一个enyo的control都可以放在enyo.Panels内部,方便起见我们把这些control称为panel。在enyo.Panels的一组panel中,只有一个是活动的。可以通过setIndex方法设置活动的panel。每次设置activepanel真正的panel布局都会改变,所以新的activepanel拥有最高的优先级。如果layo. 阅读全文
posted @ 2013-02-25 21:59 外卖 阅读(300) 评论(0) 推荐(0) 编辑
摘要: FittablesFittable包帮助你创建布局更合理的使用可用空间(app都有这样的布局需求,但使用以前的web技术很难做到这一点)。个人观点,现在移动Web开发框架中有很多都支持自适应布局,如senchatouch,但是enyo的这种方式在创建复杂的页面时依旧很容易实现。FittableColumnsandFittableRowsFittableColumns和FittableRowscontrol使你可以定义视图的各子部分的行列布局。在一个view中你可以使用可用空间来扩展一个child,而它的兄弟保留原来的大小样式。要标记一个childcontrol的大小范围,须将它的fit属性设置 阅读全文
posted @ 2013-02-25 21:52 外卖 阅读(992) 评论(0) 推荐(0) 编辑
摘要: Lists 大多数应用需要展示一组数据。 创建一个拥有大量数据项的界面并且在渲染滚动方面表现良好的跨平台listcontrol是很有挑战性的。由此,enyo提供了两种处理list数据的策略。当应用需要处理密切相关的少量数据项目时(10~100)应当使用enyo.Repeater。当应用需要处理大量的相对简单的数据时(百万级),应当使用enyo.List。Repeater enyo.Repeater是一个简单的listcontrol。Repeater重复内部包含的controlset。Repeater组件都复制创建的item项,隐藏在item的control中。每个control都可以放在... 阅读全文
posted @ 2013-02-25 21:35 外卖 阅读(388) 评论(0) 推荐(0) 编辑
摘要: 回到杭州后开始找工作同时继续更新enyo官方入门教程,将剩下的Building Apps部分翻译完,这部分都是关于enyo各属性和组件的简单使用,把我学习和翻译时用到的demo拿出来分享一下方便新人学习时参考一下,下载链接https://skydrive.live.com/redir?resid=D2B942A93F4E3307!240&authkey=!AHUmFno9K2pdd0c,以后有时间的话再放一些复杂点的demo。另外今天在官方教程目录里突然发现新增加了一篇关于使用enyo开发win8 App的教程,需要win8和VS2012,这篇就不翻译了吧。enyo.Scrollere 阅读全文
posted @ 2013-02-25 21:21 外卖 阅读(643) 评论(0) 推荐(0) 编辑
摘要: User InputNormalized User InputEnyo提供了一套规范的跨平台的事件,以使开发者的应用使用同一套事件处理代码即可运行在各种手机和平板平台上。Normalized Input Events 在Enyo核心包中,dom(drag.js,gesture.js) 和(gesture.js,msevents.js,touch.js)制订了标准事件。 下面的标准事件是由DOM事件合成的:Down--指针被按下时产生Up--当指针释放时产生Tap--指针按下后释放产生。底层DOM元素同时收到down和up事件Move--当指针移动时产生Enter--当pointer进入以D.. 阅读全文
posted @ 2013-01-10 20:25 外卖 阅读(428) 评论(3) 推荐(0) 编辑
摘要: 从本篇开始,不再按Enyo官方教程的顺序翻译,先翻译一些我还没有弄明白的部分---与服务器通信、触摸事件和与phonegap的集成。官方教程的顺序是布局方法、通用UI的Control类的使用、主题、国际化、debug方法,然后才是现在翻译的这部分。 在本文中,我们将看到基于Enyo框架的app如何使用传统的web通信方法和在特定情况下的WebService通信方法。 在Enyo中,通过enyo.Ajax或enyo.WebService发送Web请求。enyo.Ajax直接继承自enyo.Async---处理异步操作的基类。enyo.WebService使用enyo.Ajax或enyo.... 阅读全文
posted @ 2013-01-10 19:49 外卖 阅读(503) 评论(0) 推荐(0) 编辑
摘要: PublishedPropertiesenyo.Objectenyo.Object实现了enyo框架属性的公共方法(前面有一篇简单介绍enyo.Object类源码的博客)。published属性定义在enyo.kind内部的published表中。所有声明为published的属性都自动添加了get和set方法。Published属性的set方法都会触发<propertyName>Changed的可选方法。 在下面的例子中,myValue成为“MyObject”原型的常规属性,并继承了set方法: 1 enyo.kind({ 2 name: "MyObject" 阅读全文
posted @ 2013-01-09 21:14 外卖 阅读(277) 评论(0) 推荐(0) 编辑
摘要: EventHandling Enyo采用了消息传递策略来间接地在不同组件之间通信。我们把这些信息作为事件,这与常见的DOM用法一直。一般事件按照child-parent顺序在组件树中冒泡。在使用dom包时,DOM事件和自定义事件是一致的。 使用事件的关键在于component组件设计的封装。大部分时候,一个component的children不应当知道他们的父类。所有child发出的事件应当由父类决定是否处理而不应在child中调用父类的方法处理事件。 虽然由child向parent发送事件是enyo的标准,但在一些情况下这种实现模式效率低下且代码笨拙。因此enyo还提供了另一种通信方法... 阅读全文
posted @ 2013-01-09 21:01 外卖 阅读(379) 评论(0) 推荐(0) 编辑
摘要: ObjectLifecycleLifecycleMethodsinEnyoATrivialKindEnyo的kind使用常规的js原型。一个kind有简单的生命周期。1 var MyKind = enyo.kind({2 kind: null, // otherwise it will default to 'Control'3 constructor: function() {4 // do any initialization tasks5 }6 }); 现在MyKind是一个可以使用new方法创建实例的函数了。MyKind函数是一个调用构造函数的... 阅读全文
posted @ 2013-01-09 20:31 外卖 阅读(323) 评论(0) 推荐(0) 编辑
摘要: CreatingKindsenyo.kind enyo.kind是enyo框架生成kind的方法。一个kind是一个拥有高级特性(如原型链)的原型构造函数。 Kind生成器的扩展能力包括插件系统,构造函数允许执行自定义的子类操作。 在本片文章中,我们将会看到当enyo.kind方法被调用时会发生的几件事。要学习调用过程中发生什么你需要一个实例化的object,参考ObjectLieftcycle。SpecialPropertyNames 通常,定义在inProps对象的属性都是直接拷贝到生成原型中,但是一些属性名会进行特殊的处理。一些特殊属性中例子:Name:在全局命名空间中定义的构造... 阅读全文
posted @ 2013-01-09 20:02 外卖 阅读(967) 评论(0) 推荐(1) 编辑