이미지뷰를 애니메이션으로 이동을 시키려 합니다.
[ ] - [ ] - [ ] - [ ] - [ ] - [ ]
처럼 환형으로 된 칸이 있다고 치면
처음엔 [ 1 ] - [ 2 ] - [ 3 ] - [ 4 ] - [ 5 ] - [ 6 ]
하고 버튼을 한번 누르면
[ 2 ] - [ 3 ] - [ 4 ] - [ 5 ] - [ 6 ] - [ 1 ]로 이동하는 모션이 보여지면서 이동하게 됩니다.
한칸이동하는건 잘 보여지면서 문제가 없는데
두칸이상 을 이동할때가 문제입니다...
예를들어 3칸을 이동한다하면
[ 1 ] - [ 2 ] - [ 3 ] - [ 4 ] - [ 5 ] - [ 6 ] 에서 [ 2 ] - [ 3 ] - [ 4 ] - [ 5 ] - [ 6 ] - [ 1 ]이된후에 [ 3 ] - [ 4 ] - [ 5 ] - [ 6 ] - [ 1 ] - [ 2 ]로
이동하는 모션이 각각 보여야하는데
[ 2 ] - [ 3 ] - [ 4 ] - [ 5 ] - [ 6 ] - [ 1 ]에서 [ 3 ] - [ 4 ] - [ 5 ] - [ 6 ] - [ 1 ] - [ 2 ]로가는 모션만 보이게 됩니다.
마지막 모션만 애니메이션으로 보여준다는 겁니다... 이문제를 어떻게 해결해야 하나요?
코드를 아래에 첨부하겠습니다.
public void test_click(View v) //버튼 클릭 했을 시 애니메이션 작동
{
img[0].startAnimation(Category_flowAnim1); //카테고리 flow 애니메이션 시작
img[1].startAnimation(Category_flowAnim2);
img[2].startAnimation(Category_flowAnim3);
img[3].startAnimation(Category_flowAnim4);
img[4].startAnimation(Category_flowAnim5);
img[5].startAnimation(Category_flowAnim6);
for(int i=5; i>0; i--)
{
Swap(img[i],img[i-1],i);
}
}
public void test2_click(View v) //버튼 클릭 했을 시 애니메이션 작동
{
test_click(v);
test_click(v);
}
테스트클릭을 누르면 누를때마다 계속 버튼들이 한칸씩 움직이고 그자리에 멈춰서있습니다. 이것은 원하는대로 제대로 작동 합니다.
테스트2클릭을 누르면 버튼을 누르면 한칸 움직인곳에서 시작하여 한칸을 움직입니다. 위치의결과는 원하는 값이지만
제가 원하는것은 테스트2클릭을 누르면 테스트클릭이 한번된다음 또한번 되서 총 두번모두 움직이는 모션을 보려고 합니다.
테스트2클릭처럼 함수를 저렇게 해주면 안되나요?
저안에 img[0].startAnimation(Category_flowAnim1); //카테고리 flow 애니메이션 시작
img[1].startAnimation(Category_flowAnim2);
img[2].startAnimation(Category_flowAnim3);
img[3].startAnimation(Category_flowAnim4);
img[4].startAnimation(Category_flowAnim5);
img[5].startAnimation(Category_flowAnim6);
for(int i=5; i>0; i--)
{
Swap(img[i],img[i-1],i);
}
를 두번 넣어도 똑같은 결과가 나옵니다.. 역시 마지막 한번의 모션을 보여줍니다...
스레드때문에 동시에 되는것같은데,,, 이걸 두번 이동하는것 모두 볼 수 있나요?