[英]Flex item renderer - blink image
我有一個帶有他的ItemRenderer的列表,好吧,當我將數據發送到dataprovider時,在函數“設置數據”中輸入(覆蓋),我有兩個圖像和一個標簽,當發送數據時,我檢查是否圖像具有要設置的源,如果該項目具有該源,那么我沒有設置源來避免眨眼效果,但是它不起作用,為什么? 在這種情況下,我檢查圖像的來源,這是空的。
資源:
override public function set data( _data:Object ) : void {
if (imgStatusMessage.source != _data.source) {
imgStatusMessage.source = _data.source;
}
}
...
<s:Image id="imgStatusMessage" width="15" height="15" visible="false"/>
然后,當item為'repaint'時,檢查此元素的屬性,如果_data var具有相同的值,則不要再次設置該值。
編輯:如果發送了更多數據,則除第一項外,所有項均工作正常; 僅第一項在一個圖像中出現眨眼問題。
您可以將其添加到列表定義中(它將關閉渲染器的回收):
<s:List>
<s:layout>
<s:VerticalLayout useVirtualLayout="false" />
</s:layout>
</s:list>
看看問題是否仍然存在。
如果沒有,您可以像這樣保留它,但是它可能會影響大型列表的應用性能。 否則,您可能會以某種方式實施渲染器,使其不再設置source
,而是從某些預制集合中添加已制成的圖像,尤其是如果“源”是URL而不是嵌入的BitmapAsset。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.