관리 메뉴

moozi

그래픽 2D 6 - ACTION_DOWN 사용하기 본문

안드로이드개발강좌

그래픽 2D 6 - ACTION_DOWN 사용하기

moozi 2010. 3. 16. 16:38

이번 강좌는 지난강좌 [ 안드로이드 개발 2.0 ] 그래픽 2D 5 - 아이콘 여러개 띄우기 에서 이어집니다.

지난 강좌에서 화면을 터치하여 여러개의 아이콘을 띄우는 작업을 해봤습니다.

그런데, 화면을 클릭한 상태에서 드래그 해보면 다음과 같이 드래그한 궤적을 따라 아이콘이 연속적으로 생성되는 것을 볼 수 있습니다.



[ 화살표 방향으로 드래그 할 때 아이콘이 연속적으로 생기는 모습 ]

onTouchEvent 는 화면을 클릭했을 때 뿐만 아니라 화면을 드래그했을 때도 호출되기 때문에 위와 같은 결과가 나옵니다.

이것을 방지 하기 위해서 MotionEvent.ACTION_DOWN 를 사용합니다.
 

1. onTouchEvent 메서드를 다음과 같이 코딩합니다.

 @Override
        public boolean onTouchEvent(MotionEvent event) {
         synchronized (CVThread.getSurfaceHolder()) {
           if (event.getAction() == MotionEvent.ACTION_DOWN){
           GraphicIcon graphic = new GraphicIcon(BitmapFactory.decodeResource(getResources(), R.drawable.icon));
           graphic.getCoordinates().setX((int) event.getX());
           graphic.getCoordinates().setY((int) event.getY());
          graphics.add(graphic);
          }
          return true;
         }
         
        }



2. Ctrl + F11 로 실행합니다.

[ 실행결과 - 화살표방향으로 드래그한 결과 ]


실행해보면 드래그해도 아이콘이 연속적으로 생성되지 않는것을 알 수 있습니다.

[ 참고 - http://www.droidnova.com/playing-with-graphics-in-android-part-iv,182.html ]


Comments