EUI 初认识

版权声明:本网站文章、帖子等仅代表作者本人的观点,本站不保证文章等内容的有效性 https://blog.csdn.net/qq_28931121/article/details/86647278

什么是EUI

EUI是一套基于Egret核心显示列表的UI扩展库,它封装了大量的常用UI组件,能够满足大部分的交互界面需求,即使更加复杂的组件需求,您也可以基于EUI已有组件进行组合或扩展,从而快速实现需求。EUI里可以使用 EXML 来开发应用界面,标签式的语法更加适合 UI 开发, EXML 开发可以做到 UI 与逻辑代码的分离,更利于团队协作和版本迭代。
在这里插入图片描述

为什么要用EUI

EUI作为一款UI开发框架,当然是为了加快和方便UI开发,优点主要有以下几点:

  • 自动布局,帮我们处理屏幕适配问题。当然EUI并不是做得十分完美,并不是能满足每个人的需求,但是一般的项目屏幕适配问题,基本上是不需要程序员再去另处理的,可以说是省心了。对于有特殊需求的项目,还是需要自行去写适配规则。
  • 失效验证机制, 优化显示列表的渲染。对于某些组件可能在短时间内多次改变其属性(例如: wdith 、heigth),如果每次改变都去重新绘制,将会对性能有严重的消耗。而EUI则会帮我们做了这块的优化。
  • 与EXML结合使用,解耦逻辑与UI。当使用egret的原生组件的时候,会对组件的属性进行很多设置,UI代码和逻辑代码混在一起,臃肿的代码逼死强迫症。

以上都是EUI最主要的几个点。当然EUI封装的组件不能满足所有的需求,这时就需要用户去自行扩展,或者封装egret的原生组件。

使用EUI可能会遇到什么样的坑

这么便利的东西,使用起来当然是需要遵循一些规则,或者需要注意是一些使用注意事项。如果稍有不注意就会踩到一下这些坑:

  • 不能获取组件的width/height, x/y,等计算属性。
  • 改变组件属性,却没有任何作用。
  • 点击一个组件触却发多个。
  • 皮肤加载完了, 却获取不了皮肤定义的组件。
  • 皮肤无法编译进去。

以上的坑都是我使用初期比较常遇到的,其实都规避,后面遇到其他会更新。坑的规避方法,后续篇章中补充。

猜你喜欢

转载自blog.csdn.net/qq_28931121/article/details/86647278