当多次改变控件的某些属性(如 高,宽,数据)后,调用该方法以便一次性的刷新相关属性和布局等。较之于一次一次的自动刷新,更有效率。
invalidateDisplayList():void--Calling this method results in a call to the component's validateDisplayList() method before the display list is rendered.
invalidateProperties():void--Calling this method results in a call to the component's validateProperties() method before the display list is rendered.
invalidateSize():void--Calling this method results in a call to the component's validateSize() method before the display list is rendered.
validateNow():void--Validates and updates the properties and layout of this object by immediately calling validateProperties(), validateSize(), and validateDisplayList(), if necessary.
分享到:
相关推荐
在`invalidateDisplayList()`之后,Flex会调用`updateDisplayList()`方法,我们在这里绘制线条: ```actionscript override protected function updateDisplayList(unscaledWidth:Number, unscaledHeight:Number):...
invalidateDisplayList(); return; } } ``` 在这个示例中,我们首先调用了父类的`styleChanged()`方法来确保父类可以处理样式变化。接着,我们检查是否是`backgroundColor`样式发生了改变,并根据这个结果执行...
- 例如,调用 `invalidateProperties()`, `invalidateSize()`, `invalidateDisplayList()` 等方法可以标记组件的部分或全部为无效状态。 - 无效化的目的是为了后续验证时可以有针对性地重新计算或渲染相应部分。 ...
- 为了避免不必要的重绘,可以使用 invalidateDisplayList() 方法来延迟渲染,直到下一次帧刷新。 10. **封装组件**: - 最后,我们将上述功能封装在一个自定义组件中,暴露必要的公共属性和方法,如设置图片源、...
避免不必要的计算,如在无变化时重绘整个图形,可以使用`invalidateDisplayList()`方法来只重绘变化的部分。 6. **实际应用**: - 这种技术在Flex中的应用很广泛,例如在设计工具中创建流程图、网络拓扑图,或者在...
- **有效使用Invalidation**: 在控件属性更改时,通过调用invalidateProperties()、invalidateSize()或invalidateDisplayList()等方法,可以有效地控制重绘和重排,提高性能。 - **避免不必要的计算**: 尽可能减少...
- 为了避免不必要的重绘,可以使用`invalidateDisplayList()`方法来延迟更新,直到需要显示时才进行实际的绘图操作。 - 如果线条数量较多,可以考虑使用`graphics.clear()`方法清除已有的线条,然后再重新绘制,以...
invalidateDisplayList(); } } // 构造函数 public function CustomButton() { super(); // 初始化代码 } // 重写父类的方法 override protected function updateDisplayList(unscaledWidth:Number, ...
invalidateDisplayList(); } ``` 最后,我们重写`updateDisplayList`方法。在这个方法中,我们测量树项的总宽度,并与容器的可用宽度进行比较。如果内容宽度大于容器宽度,我们设置`maxHorizontalScrollPosition`...