官方地址:https://developer.egret.com/cn/article/index/id/518

官方案例:https://github.com/egret-labs/egret-examples/tree/rc/v2.5/EUIExample

如何使用EXML

第一种方式,直接引用EXML文件

EXML的根节点是Skin,表示这个文件描述的是一个皮肤。

在EXML根节点是Skin的情况下,可以直接使用组件的skinName接受EXML文件路径,这通常也是最普遍的使用情景。

这里假设之前需要的EXML文件的路径为:[项目根路径]/resource/skins/aaa.exml,引用方式:

this.skinName = "resource/skins/aaa.exml";

注:建议皮肤文件放置在resource目录下。

第二种方式:动态加载

描述的对象不是皮肤

直接使用EXML.load()方法来加载并解析外部的EXML文件,加载完成后,回调函数的参数会传入解析后的类定义,可以把类定义new出来实例化它,或直接赋值给组件的skinName属性(如果EXML根节点是Skin)。 例子:

private init():void{

EXML.load("skins/ButtonSkin.exml",this.onLoaded,this);

}

private onLoaded(clazz:any,url:string):void{

var button = new eui.Button();

button.skinName = clazz;

this.addChild(button);

}

EXML基本语法(一)

EXML是一种严格遵循XML语法的标记语言,通常用于描述静态UI界面

Egret EUI的学习的更多相关文章

  1. Egret官方案例学习笔记

    1.资源记载方式 (1)Egret引擎是2.0.5. (2)resource/resource.json文件是: { "resources": [ { "name&quo ...

  2. Egret P2 入门学习资料

    1 p2库下载: https://github.com/egret-labs/egret-game-library/tree/rc/4.1.0 2 p2 作者demo:https://github.c ...

  3. Egret - EUI - 隐藏滚动条

    <e:Skin> <e:VScrollBar autoVisibility="false" visible="false"/> < ...

  4. Html5 Egret游戏开发 成语大挑战(二)干净的eui项目和资源准备

    现在我们使用egret来起步开发一个名叫<成语大挑战>的小游戏,关于egret的开发环境就不在这里啰嗦了,直接去官方下载安装就可,egret是我见过开发环境部署最简单的解决方案,这个系列教 ...

  5. Html5 Egret游戏开发 成语大挑战(六)游戏界面构建和设计

    本篇将主要讲解游戏界面的构建和设计,会应用到egret.eui的自定义组件,可以很直观的构建一个游戏整体,这里我们仍然只需要使用EgretWing就可以达到目的,本篇可能是篇幅最少的一个,但是涉及自定 ...

  6. Egret的项目结构

    这是我新建的一个Egret EUI项目 .wing文件夹是项目的配置文件 bin-debug 文件夹,项目编译和运行的debug目录 libs 文件夹,存放库文件,包括 Egret 核心库,其他扩展库 ...

  7. 浅谈白鹭Egret

    浅谈白鹭Egret           最近在做一个移动项目,技术选型的时候接触到了白鹭,简单了解了之后觉得挺合适的,最终就选择了这个引擎. 为什么会选择白鹭引擎呢? 我看上他主要有一下几点:   1 ...

  8. Egret入门(三)--创建HelloWorld项目(4.0-使用Egret Wing)

    准备 编辑器: Egret Wing3(4.0.3) 需要下载安装 语言: TepyScript(JS的超集,参考手册http://bbs.egret.com/thread-1441-1-1.html ...

  9. egret游戏入门之学习资源篇

    最近因需要,入手H5游戏. 写游戏当然需要有引擎. H5游戏开发:游戏引擎入门推荐 如何选择 H5 游戏引擎 白鹭引擎和layabox哪个好用,哪个技术更成熟 ? LayaBox 与 Egret 选择 ...

随机推荐

  1. javac选项以递归方式编译给定目录下的所有Java文件 - IT屋-程序员软件开发技术分享社区

    http://www.it1352.com/539276.html #Linux $ find -name“* .java”> sources.txt $ javac @ sources.txt ...

  2. DBEntityEntry类

    DBEntityEntry是一个重要的类,可用于检索有关实体的各种信息.您可以使用DBContext的Entry方法获取特定实体的DBEntityEntry实例. DBEntityEntry允许您访问 ...

  3. 发送Json数据,WebApi查看时为Null的问题(已解决)

     1. PostMan :发送请求的Body中选择form-data是不行的.,body中的内容也要选择raw json格式.   2.如果是代码中填写的对象,api中解析为null,说明字段的值未对 ...

  4. groovy中的正则表达式操作符【groovy】

    groovy中对于正则表达式的书写进行了简化,同时引入了新的操作符,使得正则表达式使用起来比较方便简单. 对于书写的改进: 比如 assert "\\d" == /\d/ 也就是在 ...

  5. sparkSQL将谓词推入kudu引擎

    kudu之所以执行非常快速,可以用来替代HDFS和Hbase等,一个主要原因是,我们可以将普通SQL中的谓词推入kudu引擎,这样kudu查询数据会变的非常快: 将谓词评估推入Kudu引擎可以提高性能 ...

  6. Codeforces 609F Frogs and mosquitoes 线段树

    Frogs and mosquitoes 用线段树维护每个点覆盖的最小id, 用multiset维护没有吃的蚊子. #include<bits/stdc++.h> #define LL l ...

  7. PHPcurl的post/get请求

    post/get请求 function getCurl($url,$data=null,$method='post',$https=true){ //1. 初始化 $ch = curl_init(); ...

  8. 三级区域jquery插件

    /*! * Distpicker v1.0.4 * https://github.com/fengyuanchen/distpicker * * Copyright (c) 2014-2016 Fen ...

  9. Spring日记_02之搭建一个新项目

    程序 表现层 业务层 持久层 从持久层开始写 总结如何搭建一个项目 1.新建一个Maven项目 2.可能新建之后会有错,右键Deployment Descriptor: note, 选择Generat ...

  10. for循环的简介及break和continue的区别

    break和continue都是用来控制循环结构的,主要是停止循环. 1.break 有时候我们想在某种条件出现的时候终止循环而不是等到循环条件为false才终止. 这是我们可以使用break来完成. ...