Theme皮肤文件(json解析、多文件管理)
一 官方教程
http://developer.egret.com/cn/github/egret-docs/extension/EUI/skin/theme/index.html
二 thm主题文件解析
default.thm.json皮肤主题文件范例:
{
"skins": {
"eui.Button": "resource/eui_skins/ButtonSkin.exml"
},
"autoGenerateExmlsList": false,
"exmls": [
"src/HomeSceneSkin.exml"
]
}
skins:
将exml和ts绑定。
如果绑定,则在新建eui.component不需要设置skinName了。
如果没有绑定,则需要在eui.component的contruct中设置this.skinName = ""。
autoGenerateExmlsList
true:发布时将exmls下皮肤自动合并到default.thm.json文件中
false:不会将exmls下的皮肤自动合并到default.thm.json文件中 exmls:
在Main.ts加载主题文件时,预加载exmls列表中的皮肤
let theme = new eui.Theme("resource/default.thm.json", this.stage);
三 exml的几种使用方式:
1 直接引用
public constructor() {
super();
this.addEventListener(egret.Event.COMPLETE, this.onComplete, this);
this.addEventListener(egret.Event.ADDED_TO_STAGE, this.onAddToStage, this);
this.skinName = "src/HomeSceneSkin.exml";
}
执行顺序。在exml未预先加载的情况下,实时加载。
chilrenCreated
addToStage
exml加载完成
onComplete
2 其他方式不怎么用。。具体看官方教程
四 皮肤多文件管理
多个json皮肤文件,分类加载不同皮肤,减轻一次性加载大量皮肤解析压力。
需要自己管理exml的加载顺序,因为exml之间可能有依赖关系。
let theme = new eui.Theme("resource/default.thm.json", this.stage);
let theme2 = new eui.Theme("resource/default2.thm.json",this.stage);
theme2.addEventListener(eui.UIEvent.COMPLETE, this.onThemeLoadComplete, this);
default.thm.json
{
"skins": {
},
"autoGenerateExmlsList": false,
"exmls": [
"src/SimpleButtonSkin.exml"
]
}
default2.thm.json
{
"skins": {
},
"autoGenerateExmlsList": false,
"exmls": [
"resource/eui_skins/ButtonSkin.exml",
"src/HomeSceneSkin.exml"
]
}

另外一说,wing2.5和3都会强行自动修改thm的json文件。。。
Theme皮肤文件(json解析、多文件管理)的更多相关文章
- JSON解析---初识
JSON(JavaScript Object Notation) 是一种轻量级的数据交换格式 全然独立于语言的文本格式 易于人阅读和编写 易于解析和生成 (网络传输速度快) JSON语法规则 数据在 ...
- Json--Android中数据文件解析(Json解析--从服务器端获取数据并且解析,显示在客户端上面)
前面学习过了使用SAX解析XML数据(点击进入:SAX解析XML数据),今天学习Json解析: 首先说一下Json数据的最基本的特点,Json数据是一系列的键值对的集合,和XML数据来比,Json数据 ...
- 项目开发笔记-传单下发 名片替换 文件复制上传/html静态内容替换/json解析/html解析
//////////////////////////// 注意: 此博客是个人工作笔记 非独立demo////////////////////////////////// .............. ...
- Unity3d-XML文件数据解析&JSON数据解析
1.XML文件数据解析:(首先须要导入XMLParser解析器,The latest released download from:http://dev.grumpyferret.com/unity/ ...
- C#字符串数组排序 C#排序算法大全 C#字符串比较方法 一个.NET通用JSON解析/构建类的实现(c#) C#处理Json文件 asp.net使用Jquery+iframe传值问题
C#字符串数组排序 //排序只带字符的数组,不带数字的 private string[] aa ={ "a ", "c ", "b & ...
- Unity的Json解析<二>–写Json文件
本文章由cartzhang编写,转载请注明出处. 所有权利保留. 文章链接:http://blog.csdn.net/cartzhang/article/details/50378805 作者:car ...
- Unity的Json解析<一>--读取Json文件
本文章由cartzhang编写,转载请注明出处. 所有权利保留. 文章链接:http://blog.csdn.net/cartzhang/article/details/50373558 作者:car ...
- 19.JAVA-从文件中解析json、并写入Json文件(详解)
1.json介绍 json与xml相比, 对数据的描述性比XML较差,但是数据体积小,传递速度更快. json数据的书写格式是"名称:值对",比如: "Name" ...
- GeoJson的生成与解析,JSON解析,Java读写geojson,geotools读取shp文件,Geotools中Geometry对象与GeoJson的相互转换
GeoJson的生成与解析 一.wkt格式的geometry转成json格式 二.json格式转wkt格式 三.json格式的数据进行解析 四.Java读写geojson 五.geotools读取sh ...
随机推荐
- 《大型网站系统与Java中间件实践》读书笔记
分布式系统的基础知识 阿姆达尔定律 多线程交互模式 互不通信,没有交集,各自执行各自的任务和逻辑 基于共享容器(如队列)协同的多线程模式->生产者-消费者->队列 通过事件协同的多线程模式 ...
- python学习笔记——1
python1.python处理单/双引号==>处理字符串中包含单引号==>"I'm kunkun"==>处理字符串中包含双引号==>'I am " ...
- Google Tensorflow 源码编译(二):Bazel<v0.1.0>
这几天终于把tensorflow安装上了,中间遇到过不少的问题,这里记录下来.供大家想源码安装的参考. 安装环境:POWER8处理器,Docker容器Ubuntu14.04镜像. Build Baze ...
- loss function与cost function
实际上,代价函数(cost function)和损失函数(loss function 亦称为 error function)是同义的.它们都是事先定义一个假设函数(hypothesis),通过训练集由 ...
- MYSQL 锁机制 分析
MySQL的表级锁有两种模式:表共享读锁(Table Read Lock)和表独占写锁(Table WriteLock).MyISAM在执行查询语句(SELECT)前,会自动给涉及的所有表加读锁,在执 ...
- Software Development Principle
Every great piece of software begins with customer's big idea. As a professional softeware developer ...
- ubuntu14.04 python自带版本升级
ubuntu14.04 python自带版本升级 sudo add-apt-repository ppa:fkrull/deadsnakes-python2. sudo apt-get update ...
- Convert Excel data to MDB file
所需组件: microsoft ado ext. 2.8 for ddl and security 或者更新的组件. 添加: using ADOX;using System.Runtime.Inter ...
- Linux文件分类
文件/文件夹分类 分为 普通文件 目录 连接文件link 配置文件(device) 数据接口文件(sockets) 数据传输文件(FIFIO ,pipe) 普通文件 里边有 文本文件 二进 ...
- mysql数据库常规命令操作
1.MySQL数据库导出命令 1.导出整个数据库 mysqldump -u 用户名 -p 数据库名 > 导出的文件名 mysqldump -u wcnc -p smgp_apps_wcn ...