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属性的数据绑定。 您的隐藏/显示逻辑添加了一些新功能。扩展您的组件并引入一些新的视图状态,或者在其中声明目标外观部件,并通过某些属性更改来更改组件中的可见性。在这种情况下,您可能也必须更换皮肤。 要更改已知声明的皮肤部分的可见性,可以使用上面列出的策略的修改。在第二种策略中,您不需要声明皮肤部分:)     

要回复问题请先登录注册