我有10个图像视图堆叠在一起。 (for循环)仅当图像视图可见时,才会延迟加载
其中9个设置为visible = false。
其中1个设置为visible = true。
我想知道是否有一种方法只在imageview可见性设置为true时才加载图像。即在图像视图从堆栈移除之后。
我遇到的麻烦是它在堆栈中同时加载所有图像,导致所有内容都变慢。
for (var i = 0; i < peopleJson.users.length; i++) {
//create containers to store every child object
containers[i] = Titanium.UI.createView({
id : 'container',
visible : false,
width : '100%',
zIndex : '0',
});
imageSwipeView[i] = Titanium.UI.createImageView({
image : peopleJson.users[i].pictures[0],
visible : true,
containerObj : containers[i],
containerObjPrev : containers[temp],
pictures : peopleJson.users[i].pictures,
indImageView : indImageView[i],
basket : LabelBasket[temp],
top : 0,
zIndex : 2,
width : '100%',
defaultImage : 'images/plainbg.png',
height : 510,
});
containers[i].add(imageSwipeView[i]);
win.add(containers[i]);
if (i == (peopleJson.users.length - 1)) {
//show last container when for loop is executed
containers[i].visible = true;
$.view_indicator.visible = false;
}
[..]
该代码片段基本上说,堆叠彼此的容器ontop,一旦循环已执行显示最后一个容器。
稍后,我对每个图像视图都有一个onclick事件,如果单击它,它将删除堆栈顶部的容器,并使其下面的容器可见。
我想要做的只是当容器变得可见时,加载imageView远程图像。现在,它会尝试加载可见或不可见的图像。
发布一些代码显示你所拥有的,并在那里究竟是你的问题。 – daniula
检查修改后,谢谢 – user3754111