2013-08-18 5 views
0

У меня есть набор изображений внутри горизонтального прокрутки. Каждое изображение перекрывается на соседних изображениях на обоих краях. Когда я нажимаю на определенное изображение, оно должно появляться поверх других изображений на обоих краях. Это отлично работает с использованием,Проблема с Z заказом изображений внутри макета в Android

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

Внутри моего макета у меня есть случай, чтобы скрыть весь горизонтальный вид прокрутки и вернуть его обратно. У меня проблема. Когда он вернется, порядок изображений будет изменен.

Скажем, у меня есть 5 изображений и текущий идентификатор = 2. Тогда для того, как

3 | 4 | 5 | 1 | 2 

после того, как вид возвращается из режима View.GONE. Как я могу правильно обработать этот случай с помощью методов bringToFront() и invalidate()?

+0

ваша проблема решена с помощью ArrayList для массива порядка будет лучшим вариантом в ответ ниже – Diljeet

ответ

1

единственный вариантом является BringToFront функции, поэтому я предлагаю вам этот обходной путь

сделать массив imageviews или другого вида, как этого

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

теперь, как вы знаете, что новый порядок должен быть - | 4 | 5 | 1 | 2

вы можете сделать массив или ArrayList этого порядка допускают int[] order=new int[]{3,4,5,1,2}; затем использовать «для» петли

for(int i=0;i<order.length;i++) 
{ 
    views[order[i]].bringToFront(); 
}