0

我在水平滚动视图中有一组图像。每个图像在两个边缘上都重叠在相邻图像上。当我单击特定图像时,它应该在两个边缘的其他图像之上。使用效果很好,

tab[id].bringToFront();
tabParent.invalidate();

在我的布局中,我有一个案例可以隐藏整个水平滚动视图并将其恢复。我这里有问题。当它返回时,图像的顺序会重新对齐。

说,我有 5 张图片,当前 id = 2。然后订单就像

3 | 4 | 5 | 1 | 2

视图从 View.GONE 模式返回后。如何使用 bringToFront() 和 invalidate() 方法正确处理这种情况?

4

1 回答 1

1

你唯一的选择是bringtofront函数所以我建议你这个解决方法

制作一个像这样的图像视图或其他视图的数组

View[] views=new View[]{anyview,imageview,otherview,linearlayout,imageview2};//add any type of view

现在你知道新订单应该是 3 | 4 | 5 | 1 | 2

你可以制作这个顺序的数组或数组列表假设int[] order=new int[]{3,4,5,1,2}; 然后使用“for”循环

for(int i=0;i<order.length;i++)
{
  views[order[i]].bringToFront();
}
于 2013-08-18T13:03:13.377 回答