1. AssetAdapter()
素材适配器接口。若项目需要自定义 Image.source的解析规则,需要实现这个接口,然后调用如下代码注入自定义实现到框架即可
创建了Theme之后,它会开始异步加载指定的主题文件并解析,在加载的过程中,如果已经有组件在创建,也不需要额外处理,这部分组件在主题加载完成后会自动重新查询一次默认皮肤。
特别注意,主题配置文件只是起到设置默认值的作用,并不能运行时切换所有默认皮肤。因为这么做需要遍历整个显示列表,开销较大。
关于异步加载JS的知识点:
浏览器遇到JS时,必须等JS下载,解析,执行完后,才能继续并行下载下一个资源。原因是JS可能会改变页面或改变JS间的依赖关系。
主题配置文件就是一个标准的JSON文件,
-
skins
指定组件的默认皮肤,其中键是组件的类名,值是需要赋值给这个组件skinName属性的值。可以是exml文件路径,也可以是EXML文件上注册的类名(根节点上的class属性)。 -
exmls
表示需要主题预加载的 EXML 文件列表。Theme 文件加载之后,它会优先加载这个列表中的EXML文件,由于 EXML 可能会存在相互依赖,所以 Theme 会按照列表中的顺序编译 EXML。可以监听egret.Event.COMPLETE
来确认该列表中的EXML已经加载完成。 -
autoGenerateExmlsList
表示是否需要使用命令行工具自动生成 EXML 列表。
这里需要注意的是,引擎只会识别 xxx.thm.json
文件作为 theme 文件.
2.egret.Shape
用于使用绘图应用程序编程接口 (API) 创建简单形状。Shape 类含有 graphics 属性,通过该属性您可以访问各种矢量绘图方法。
3. Graphics