微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

Flex 4更改皮肤部位值

如何解决Flex 4更改皮肤部位值

| 你好 我想在运行时更改皮肤特定部位的可见性,但我不知道该如何达到。     

解决方法

“达到目标”是什么意思? 组件类和皮肤类都通过使用该组件的名称来引用皮肤部分。我通常在运行时如何隐藏皮肤部分是使用此过程: 1)创建一个新的皮肤状态;类似于“ skinPartHidden” 2)在Component类中;创建一个skinPartVisible属性。当属性值改变时;调用invalidateSkinState()方法。这将导致getCurrentSkinState()在下一个渲染事件期间运行。 3)在get getCurrentSkinState()方法中;使用该属性的值将皮肤状态设置为新的skinPartHidden皮肤状态。像他这样的东西:
if(skinPartVisible == false){
 return \"skinPartHidden\";
}
4)在皮肤课上;使用MXML状态语法根据皮肤状态切换皮肤零件的可见性。像这样:
visible.skinPartHidden=\"true\"
    ,这取决于您要隐藏/显示哪个部分。如果您要谈论某些特定于皮肤的图形(在主机组件中未表示为“ 2”声明),则可以实现两种策略: 您的隐藏/显示逻辑只是视图的一部分,而没有组件功能。在这种情况下,您应该扩展皮肤并将隐藏/显示逻辑放置在那里。您可以使用data3 binding属性的数据绑定。 您的隐藏/显示逻辑添加了一些新功能。扩展您的组件并引入一些新的视图状态,或者在其中声明目标外观部件,并通过某些属性更改来更改组件中的可见性。在这种情况下,您可能也必须更换皮肤。 要更改已知声明的皮肤部分的可见性,可以使用上面列出的策略的修改。在第二种策略中,您不需要声明皮肤部分:)     

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。