`
KB章鱼
  • 浏览: 27001 次
  • 性别: Icon_minigender_1
  • 来自: 成都
社区版块
存档分类
最新评论

Feathers之改变Header中Button皮肤

阅读更多

如之前的文章中介绍, 我们知道了如何设置Button的皮肤

http://kboctopus.iteye.com/admin/blogs/1846801

 

然而当Button被添加在Header中的时候发现又不行了,这是为什么呢?

在细看代码后我发现这是feathers的优化机制导致的, 如前文描述,我们对Button的设置需要在button被addChild之后设置才会生效, 看了代码就会发现header中的元素是在draw的时候才会被添加, 所以现在一切都明朗了,我们要做的就是更换一下设置代码的位置,就像这样

override protected function draw():void
{
	this.header.width = this.actualWidth;
	this.header.validate();
			
	backBtn.stateToSkinFunction = function(target:Object, state:Object, oldValue:Object = null):Image
	{
		return new Image(defaultTexture);
	};
	backBtn.validate();
}

 确保设置在header.validate()之后就会生效, 赶快试试吧! 请不要担心这样做会不会添加性能负担, 答案是不会。

0
0
分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics