我在水平滚动视图中有一组图像。每个图像在两个边缘上的相邻图像上重叠。当我点击特定图像时,它应该在两个边缘上的其他图像之上。这很好用,
tab[id].bringToFront();
tabParent.invalidate();
在我的布局中,我有一个案例来隐藏整个水平滚动视图并将其恢复。我这里有问题。当它返回时,图像的顺序是重新排列的。
说,我有5个图像,当前id = 2.然后顺序就像
3 | 4 | 5 | 1 | 2
视图从View.GONE模式返回后。如何使用bringToFront()和invalidate()方法正确处理这种情况?
答案 0 :(得分:1)
你唯一的选择是带来功能所以我建议你这个解决方法
制作一个像这样的图像视图或其他视图的数组
View[] views=new View[]{anyview,imageview,otherview,linearlayout,imageview2};//add any type of view
现在您知道新订单应该是 3 | 4 | 5 | 1 | 2
你可以制作这个命令的数组或arraylist
假设int[] order=new int[]{3,4,5,1,2};
然后使用“for”循环
for(int i=0;i<order.length;i++)
{
views[order[i]].bringToFront();
}