向 Flex 自定义组件添加效果
我有一个 Flex 应用程序,我想在运行时添加一个带有操作脚本的新自定义组件。 这很好用。我已经创建了自定义组件并添加了以下代码:
var freeView:FreeView=new FreeView();
freeView.setStyle("showEffect",this.fadeIn);
freeView.setStyle("hideEffect",this.fadeOut);
freeView.visible=false;
this.addChild(freeView);
freeView.visible=true;
但我的问题是淡入淡出效果不起作用。我知道我已经正确声明了效果,因为如果我在另一个组件(如面板)中使用它,它就可以正常工作。 有人可以帮我解决这个问题吗? 此致!
I have a flex application and I want to add a new custom component with action script at runtime.
This works fine. I have created my custom component and added the following code:
var freeView:FreeView=new FreeView();
freeView.setStyle("showEffect",this.fadeIn);
freeView.setStyle("hideEffect",this.fadeOut);
freeView.visible=false;
this.addChild(freeView);
freeView.visible=true;
But my problem is the fade in effecto is not working. I know I've declared the effect correctly because if I use it in another component (like a panel) it works fine.
Can anybody help me with this issue?
Best regards!
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(3)
确保在 FreeView 子类中调用任何重写的 Flex 超级函数。
特别是 updateDisplayList 和 commitProperties:
您是否重写了高级容器类(例如 Canvas 或 HBox)或 UIComponent 之一?
Ensure that you call any overridden Flex super-functions in your FreeView subclass.
Especially updateDisplayList and commitProperties:
Are you overriding one of the high-level container classes (e.g. Canvas or HBox) or UIComponent?
最后我用不同的方式解决了这个问题。
我已将组件添加到应用程序,并将可见属性设置为 false,然后在需要时将其更改为 true,而不是在运行时添加组件。
Finally I solve the problem in a different way.
Instead adding the component at run time I have added the component to the application with visible property set to false and I change it to true when I need.
您可以通过将效果目标设置为新元素来实现相反的效果
you can do it the other way around by setting effects target to your new element