关于gui的skinnableContainer的一点问题

创建一个UIAsset

 var uiAsset = new egret.gui.UIAsset();uiAsset.source = "bgImage";

把UIAsset添加到SkinnableContainer上

 var container = new egret.gui.SkinnableContainer();container.addElement(uiAsset);

然后把container添加到stage上会发现uiAsset并没有显示出来。这是什么原因呢?

这时我去看了一下SkinnableContainer的代码,发现

public addElement(element:IVisualElement):IVisualElement {return this._getCurrentContentGroup().addElement(element);
}public _getCurrentContentGroup():Group {if (this.contentGroup == null) {if (this._placeHolderGroup == null) {this._placeHolderGroup = new Group();this._placeHolderGroup.visible = false;this._addToDisplayList(<DisplayObject><any>this._placeHolderGroup);}this._placeHolderGroup.addEventListener(ElementExistenceEvent.ELEMENT_ADD, this._contentGroup_elementAddedHandler, this);this._placeHolderGroup.addEventListener(ElementExistenceEvent.ELEMENT_REMOVE, this._contentGroup_elementRemovedHandler, this);return this._placeHolderGroup;}else {return this.contentGroup;      }
}

SkinnableContainer的addElement是默认如果没有contentGroup的话是加在_placeHolderGroup上的,而placeHolderGroup默认的visible是false的,而在partAdded中如果发现有皮肤里有contentGroup,则会把placeHolderGroup的children放到contentGroup里。

皮肤里若没有contentGroup,则skinnableContainer所有的addElement的子项都不会显示

我们给container赋一个皮肤。

 var container = new egret.gui.SkinnableContainer();container.skinName = testSkin;container.addElement(uiAsset);//皮肤类
class testSkin extends egret.gui.Skin {private contentGroup:egret.gui.Group;public get skinParts() {return ["contentGroup"]}constructor() {super();}public createChildren():void {super.createChildren();var group = new egret.gui.Group();this.contentGroup = group;this.addElement(group);}
}

testSkin当中有一个contentGroup,这样uiAsset才会显示出来。

转载于:https://www.cnblogs.com/guessWhat/p/4306331.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/359204.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

漫谈:Java和Python现在都挺火,我应该怎么选?Java和Python优缺点比较。

http://www.bossqiang.com/article/4 声明&#xff1a;这是一篇容易引起撕逼的文章&#xff0c;为了祖国和谐&#xff0c;人民安康&#xff0c;请各位看官尽量理性讨论。同时&#xff0c;这篇文章是面向一些初入行的朋友进行一些相对中肯一点的分析和建议而已&#xff0c;虽然…

关闭Android电池温度告警框,android电源信息查看(电量、温度、电压)实例代码

本文实例讲述了android电源信息查看方法。分享给大家供大家参考。具体如下&#xff1a;1. PowerTestActivity&#xff1a;import android.app.Activity;import android.content.BroadcastReceiver;import android.content.Context;import android.content.Intent;import androi…

Spring集成和Web服务

本文是我们名为“ Spring Integration for EAI ”的学院课程的一部分。 在本课程中&#xff0c;向您介绍了企业应用程序集成模式以及Spring Integration如何解决它们。 接下来&#xff0c;您将深入研究Spring Integration的基础知识&#xff0c;例如通道&#xff0c;转换器和适…

如何在微博首页放置一个二维码?

首先用photoshop打开作为微博背景的图片,还有二维码图片。 然后将二维码图片整合到背景图片的适当位置,并编写相关说明,如下图。 然后将图片保存到桌面。 打开微博,可以看到左侧现在是没有二维码的

android 循环创建json数组对象,Android-创建JSON数组和JSON对象

小智..295使用以下代码:JSONObject student1 new JSONObject();try {student1.put("id", "3");student1.put("name", "NAME OF STUDENT");student1.put("year", "3rd");student1.put("curriculum", &q…

RethinkDB创始人教你如何打造一个伟大的互联网产品

关于作者 我叫Slava Akhmechet&#xff0c;本人是 RethinkDB 的创始人之一&#xff0c;RethinkDB是开源&#xff0c;分布式数据库&#xff0c;旨在帮助开发人员与运营商在打造实时应用时处理无结构数据 如何打造一个伟大的互联网产品 假如你认可“销售定乾坤”的原则&#xff0…

xml对象映射_将对象映射到多个XML模式–天气示例

xml对象映射我已经在EclipseLink JAXB&#xff08;MOXy&#xff09;的XmlPath和外部绑定文件扩展中撰写了以前的文章。 在本文中&#xff0c;我将通过将单个对象模型映射到两个不同的XML模式来演示这些扩展的功能。 为了使示例更加“真实”&#xff0c;XML数据将来自提供天气信…

java-JSON: Expected value at 1:0 错误

/* 前后端通信相关的配置,注释只允许使用多行方式 */ {/* 上传图片配置项 */"imageActionName": "uploadimage", /* 执行上传图片的action名称 */"imageFieldName": "upfile", /* 提交的图片表单名称 */"imageMaxSize": 204…

Android获取LAUNCHER,Android 获取Launcher 启动列表

先留着有时间再看获取Launcher 启动列表即 列出所有Launcher程序 通过PackageManager 来获取[代码 步骤]1. 定义内部类 LauncherItem 用于定义Application相关属性 比如&#xff1a;图标 名称 以及 ComponentNameJava代码1  public class LauncherItem {23   Drawable icon;…

数据库高可用架构 转载

数据库高可用架构对于我们这些应用端开发的人来说是一个比较陌生的领域&#xff0c;是在具体的数据库产品之上搭建的环境&#xff0c;需要像DBA这样对数据库产品有足够的了解才能有所涉及&#xff0c;虽然不能深入其中&#xff0c;但可以通过一些经典的高可用架构学习其中的思想…

将Java 8日期时间API与JSF和Java EE 7结合使用

如果您将Java 8与Java EE 7一起使用&#xff0c;则在尝试利用某些Java 8新功能时可能会遇到一些怪癖。 一个这样的怪癖是&#xff0c;默认情况下&#xff0c;新的Date-Time API不适用于许多Java EE 7 API&#xff0c;因为它们是为与java.util.Date和/或较早的Date API一起使用而…

解决 There are no resources that can be added or removed from the server

网上下载了一个项目,在eclipse中部署时,加载项目到tomcat中项目名称无法显示,报出There are no resources that can be added or removed from the server 这个是因为下载下来的项目没有eclipse的相关配置文件,eclipse不知道这是一个什么项目。 解决方法: 1、进入confi…

推荐几款爬虫软件与无需编程的数据分析工具

爬虫软件: 八爪鱼,火车头,前嗅,熊猫采集器,集搜客等 相对来说八爪鱼配置还是比较简单的,不过免费版的爬起数据来那叫一个慢。。。 不过也可能是我是个急性子。。。1分钟爬10条,很心塞啊。火车头就尴尬,不是高 配版。。基本上啥也干不了,不过好的一点是他们的论坛还是…

登录时本地保存账号密码及关闭ARC的方法

对于登录时保存用户名和密码&#xff0c;苹果官方使用的是KeychainItemWrapper&#xff0c;但使用时有些不便&#xff0c;如在引入KeychainItemWrapper的类中都要关闭arc&#xff0c;不能自定义key&#xff0c;必须使用该类提供的kSecValueData、kSecAttrAccount等。所以推荐使…

linux系统的4个部分,以下是Linux文件系统的4个相关的结构定义中的一部分: Struct i..._考试资料网...

问答题为了实现文件的共享&#xff0c;办法之一是把文件目录分成基本文件目录和符号文件目录。现设目录文件存放在磁盘上&#xff0c;盘块长度为1024B&#xff0c;每个文件说明占48B。其中&#xff0c;文件符号名占6B&#xff0c;内部标识符ID占2B&#xff0c;请回答下列问题&a…

收银扫描设备统计

前端时间开发一个会员管理系统&#xff0c;里面涉及一些支付的问题&#xff0c;就查找一些配套的硬件设备。记录点滴成长 2000元的配套设备一般就可以满足系统应用啦。

推断:Facebook的新Java静态分析工具

如何使用Facebook的Infer改善Java开发工作流程&#xff1f; 如果您与技术话题保持紧密联系&#xff08;如果您正在阅读此博客&#xff0c;我想您应该这样做&#xff09;&#xff0c;那么您可能听说过Facebook 刚刚向公众发布的新工具&#xff1a;推断。 由于它来自Facebook&am…

html 转换xslt,XSLT xsl:template 元素

元素元素用于构建模板。match 属性用于关联 XML 元素和模板。match 属性也可用来为整个文档定义模板。match 属性的值是 XPath 表达式(举例&#xff0c;match"/" 定义整个文档)。好了&#xff0c;让我们看一下上一节中的 XSL 文件的简化版本&#xff1a;xmlns:xsl&qu…

开发一个大数据网站做的铺垫

知名大数据分析网站推荐8个 用到的大数据5个关键技术 人工智能6大关键技术

[C/C++]C++标准

本文若如特别说明都引于ISO/IEC 14882:2011 7、声明(Declarations) 声明序列(declaration-seq): 声明(declaration) 声明序列(declaration-seq) 声明(declaration)声明(declaration): block-declaration function-definition template-declaration explicit-…