EUI库 - 皮肤】的更多相关文章

  皮肤分离机制    皮肤分离机制对制作可复用的外观比较有优势 那对于只使用一次的皮肤呢?如果也拆分出两个文件,显然不太方便.这里我们针对单次使用的皮肤定制了内部类的功能   每个组件都有一个childrenCreated()方法,它会在组件初始化完成后回调,子类通常覆盖这个方法来访问一些延迟实例化的子项. 皮肤部件 在皮肤附加到逻辑组件上时,会自动匹配双方的同名变量和id,这些同名变量就叫做“皮肤部件”(SkinPart)   .当为某个组件定制皮肤时,实际上就分为创建对应的皮肤部件和显示图…
  eui.UILayer UILayer是Group的子类它只有一个功能,到放到场景上后,宽高永远和场景宽度一致   Group Group 是自动布局的容器基类.如果包含的子项内容太大需要滚动显示,可以在在 Group 外部包裹一层 Scroller 组件(将 Group 实例赋值给 Scroller 组件的 viewport 属性).Scroller 会为 Group 添加滚动的触摸操作功能,并显示垂直或水平的滚动条. 做过试验了 操作内部对象的方法 和Sprite基本一致,只是多了get…
    EXML是可以运行时加载解析的   <e:Skin class="skins.ButtonSkin" states="up,down,disabled" minHeight="50" minWidth="100" xmlns:e="http://ns.egret.com/eui"> <e:Image width="100%" height="100%&…
    新特性 36k   访问EUI组件宽高时,也会跟原生显示对象的表现一致,立即能得到包含子项的宽高值   统一的显示列表  普通对象和eui对象都可用addChild来添加   一个逻辑组件只管代码控制,一个皮肤组件只负责外观 内部类  <e:Button label="按钮">          <e:Skin states="up,over,down,disable">              <e:Image source…
  List 和DataGroup的区别 1 选中一项 会触发 eui.ItemEvent.ITEM_TAP 事件, 2 有选中项的概念,可以设置 List 里的默认选中项    selectedIndex selectedItem  3 可以开启多选状态 allowMultepleSelection = true ;    selectedIndices    selecteditems    requireSelection 至少要有一个被选中 4 配合Scroller可实现滚动效果…
  ArrayCollection  当数组内的数据被修改了(增删改),组件能有效的获知 myCollection.addEventListener(eui.CollectionEvent.COLLECTION_CHANGE,this.collectionChangeHandler,this); 长度 ArrayCollection.length 增 addItem() addItemAt() 删 removeItemAt() removeAll(); 改 replaceItemAt( {},…
  DataGroup 设置一个数据源 自动创建内部所需的对象 来完成数据展示   还要设置单条数据的模板  叫ItemRenderer   继承关系 eui.List  eui.ListBase eui.DataGroup eui.Group 创建ItemRenderer 继承 eui.ItemRenderer 然后在内部添加自定义的功能 dataGroup.itemRenderer = LabelRenderer  策略1 useVirtualLayout  = false  有多少条数据就…
  自适应流式布局 width="100%" top left right horizontalCenter=0 失效验证机制 这些异步过程都封装好了,我们只需要关注那一对方法: invalidateProperties() 和 commitProperties() ,前者标记属性失效,后者应用失效的属性     一个是测量验证   invalidateSize() 和 measure() 一个是布局验证. invalidateDisplayList() 和 updateDisplay…
  步骤 1 在根节点,添加一个自定义的命名空间  2 可以设置skinName 自定义组件规范 1 不复用的不要用自定义组件 2 属性必须要有默认值(赋值为null也可以),因为TS编译器会把没有默认值的属性直接优化掉,在运行时并不存在. 3.属性的getter方法内要判断访问的对象是否为空,确保外部任何情况下访问属性都不会报错. 4 组件构造函数参数必须为空,或者参数有默认值,否则无法用空构造函数实例化. 5.组件的构造函数内不应该有对外部业务逻辑依赖的代码,这部分代码可以转移到组件被添加到…
  egretProperties.json exmlRoot  指定exml文件存放根目录,该路径必须为相对路径,目录内只能有exml文件 themes    主题文件数组,配置所有主题文件路径,该路径必须为相对路径(什么是主题?) exmlPublishPolicy 发布时主题文件存储exml策略,可能的值有 path,content,gjs (这三个值我也不懂)   path :主题文件只存储路径,会去加载不同exml文件,和debug时一致,不推荐使用 content :主题文件存储ex…