마스터Q&A 안드로이드는 안드로이드 개발자들의 질문과 답변을 위한 지식 커뮤니티 사이트입니다. 안드로이드펍에서 운영하고 있습니다. [사용법, 운영진]

안드로이드 내부에서 x y 를 구할 수 있을까요?

0 추천
   분쟁이 일어나지 않도록 유의하며 작성해주세요.
   게시 전 올바른 게시판을 선택하였는지 확인해주세요.
 

 

 

https://www.youtube.com/watch?v=lKpkSeL1Bks

 

 

동영상 첨부드립니다

 

 

저희가 안드로이드에서 그림을 그리면 그걸 아두이노로 보내 그림 그려주는 로봇 같은걸 만들려고 하는데 알아 본 바로는 x y 좌표값을 알아야 하는데 그걸 grbl 이라는 프로그램을 이용해 거기서 x y 값을 뽑아내는 방법이 있더라구요

 

 

하지만 할때마다 변환을 할 수는 없으니 동영상을 보니 제가 그림을 그리면 바로바로 아두이노로 옮겨 그림을 그려주더라고요

 

 

혹시 안드로이드 내부에서 x y 좌표를 구해서 바로 옮겨주는 코드를 알 수 있을까요?

포로링 (170 포인트) 님이 2017년 9월 29일 질문

1개의 답변

0 추천
private View.OnTouchListener handleTouch = new View.OnTouchListener() {

    @Override
    public boolean onTouch(View v, MotionEvent event) {

        int x = (int) event.getX();
        int y = (int) event.getY();

        switch (event.getAction()) {
            case MotionEvent.ACTION_DOWN:
                Log.i("TAG", "touched down");
                break;
            case MotionEvent.ACTION_MOVE:
                Log.i("TAG", "moving: (" + x + ", " + y + ")");
                break;
            case MotionEvent.ACTION_UP:
                Log.i("TAG", "touched up");
                break;
        }

        return true;
    }
};

상기 Listener를 메인 뷰에 할 당합니다.
myView.setOnTouchListener(handleTouch);

해당 View 안에서 x, y 좌표를 보여줍니다.

그러나 디바이스 스크린에서의 절대적인 좌표를 구하려면 getRawX()를 사용하면 됩니다.
int x = (int)event.getRawX();
int y = (int)event.getRawY();
Will Kim (43,170 포인트) 님이 2017년 9월 29일 답변
...