Flex:确定组件是否显示
发布时间:2020-12-15 02:14:20 所属栏目:百科 来源:网络整理
导读:确定Flex / Flash中的组件是否显示在用户屏幕上的最佳方式是什么?我正在寻找一种模拟 Java的 Component.isShowing()方法. 显示和隐藏事件触发可见性,这似乎适用于ViewStack组件的第一个后代,但不会进一步显示在显示树中. 解决方法 UIComponent.visible对于v
确定Flex / Flash中的组件是否显示在用户屏幕上的最佳方式是什么?我正在寻找一种模拟
Java的
Component.isShowing()方法.
显示和隐藏事件触发可见性,这似乎适用于ViewStack组件的第一个后代,但不会进一步显示在显示树中. 解决方法
UIComponent.visible对于visible = false的对象的子对象并不一定有效.从文档:
“无论在哪种情况下,对象的子对象都不会发出显示或隐藏事件,除非对象已经专门写了一个实现. 我写了一个证明这是真实的示例应用程序.您可以做的是走上显示列表,检查父母是否可视.基本上“可见”给出假阳性,但不应该给予假阴性.这是一个快速实用程序我放在一起: package { import flash.display.DisplayObject; import mx.core.Application; public class VisibilityUtils { public static function isDisplayObjectVisible(obj : DisplayObject) : Boolean { if (!obj.visible) return false; return checkDisplayObjectVisible(obj); } private static function checkDisplayObjectVisible(obj : DisplayObject) : Boolean { if (!obj.parent.visible) return false; if (obj.parent != null && !(obj.parent is Application)) return checkDisplayObjectVisible(obj.parent); else return true; } } } 我没有做任何事情,而不是简单的测试,但它应该让你开始. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |