안녕하세요.
아래의 소스 코드 처럼 FrameLayout 에 ImageView 를 여러개 addView 한 후 ImageView를 터치해서 드래그 하려고 합니다.
첫번째, 두번째 이미지를 addView 후 각각의 이미지를 터치하면 드래그가 잘 됩니다.
그런데, 세번째 이미지를 addView 하면 두번째, 세번째 이미지만 드래그가 되고, 첫번째 이미지는 드래그가 안되네요.
이미지를 터치하면 bringToFront 로 처리해서 하는데... 아마도 이부분이 문제일듯 싶은데요..
터치한 뷰외는 sendToBack 하면 될 듯 한데... 왜 sendToBack api 는 왜 없을까요? ㅠㅠ
왜 두개만 되고 두개 이상부터는 bringToFront 가 안될까요? 고수님들의 도움이 필요합니다.
imageView = new ImageView(Photo.this);
imageView.setOnTouchListener(new OnTouchListener() {
@Override
public boolean onTouch(View v, MotionEvent event) {
switch (event.getAction()) {
case MotionEvent.ACTION_DOWN:
status = START_DRAGGING;
v.bringToFront();
v.invalidate();
break;
case MotionEvent.ACTION_MOVE:
if (status == START_DRAGGING) {
v.setPadding((int) event.getRawX(), (int) event.getRawY()-30, 0,0);
}
break;
case MotionEvent.ACTION_UP:
status = STOP_DRAGGING;
break;
}
return true;
}
});