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

ImageView 터치 이동 ( getRawX, getRawY)

0 추천

안녕하세요.

현재 imageView를 터치해서 이동시키는 코드를 연습하고 있습니다.

궁금한 점이 현재 이미지를 터치하여 옮기는건 되는데.

터치를 down, move, up 전부 제가 터치한 곳보다 오른쪽으로 0.5cm, 아래로 1cm 이동해서 옮겨지네요..

imagesetX, Y 하는 부분이 문제가 있는 것 같습니다.

getRawX, getRawY 가 보이는 화면전체에 대한 위치를 받아오는게 아닌건가요..?

RawX, Y가 문제 같은데... 자세한 설명글이나 이미지나 부탁드립니다.. ㅠ

감사힙낟.

 

public class Paint_Page extends AppCompatActivity {

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_paint__page);

        LinearLayout linearLayout = (LinearLayout) findViewById(R.id.linearlayout);
        final ImageView imageView = (ImageView) findViewById(R.id.imageView);
        imageView.setImageResource(R.drawable.jays);

        imageView.setOnTouchListener(new View.OnTouchListener() {
            @Override
            public boolean onTouch(View v, MotionEvent event) {
                switch (event.getAction()){
                    case MotionEvent.ACTION_UP :
                        imageView.setX(event.getRawX());
                        imageView.setY(event.getRawY());
                    case MotionEvent.ACTION_DOWN :
                        imageView.setX(event.getRawX());
                        imageView.setY(event.getRawY());
                    case MotionEvent.ACTION_MOVE:
                        imageView.setX(event.getRawX());
                        imageView.setY(event.getRawY());
                }
                return true;
            }
        });

    }
}
대화니 (1,120 포인트) 님이 2016년 7월 7일 질문

1개의 답변

0 추천

getRawX, getRawY 는 화면전체 를 기준으로 한 좌표가 맞고요.  

 "오른쪽으로 0.5cm, 아래로 1cm 이동해서 옮겨지네요.." 라는게 무슨말이죠 ? 설마 이미지를 클릭했을때 손가락을 기준으로 중앙에 위치하고싶으신거라면. 이미지의 높이/2 넓이/2 를 빼주셔야합니다.

익명사용자 님이 2016년 7월 8일 답변
네, 터치 했을때 중앙으로 오는 것을 구현하려고 합니다.

현재는 터치한 부분을 기점으로 오른쪽 0.5cm , 아래로 1cm 부분에 이미지가 위치한다는 말이였습니다.!

집에가서 한번 테스트 해봐야 겠습니다.
감사합니다.
...