Обнаружение касания в режиме просмотра изображений - PullRequest
3 голосов
/ 12 января 2012

У меня есть изображение, на котором я рисую свою игровую доску для своей игры.Мне нужно получить X, Y касания относительно изображения.Например: если кто-то дотронется до верхнего левого пикселя, он вернется (0,0) или, скажем, игровое поле было 100,100, и я коснулся прямо в середине, я бы получил (50,50) ...можно ли это сделать?

 gameView.setOnTouchListener(new OnTouchListener(){

        @Override
        public boolean onTouch(View v, MotionEvent event) {
            if(event.getAction() == MotionEvent.ACTION_DOWN){
            int x = (int) event.getX() / pieceSize;
            int y = (int) event.getY() / pieceSize;
            Log.d("Touch Event", "Touch event at "+ x + " " +y);

            doMove(x, y);

            Log.d("Move", "The move was " + doMove(x,y));
            }
            gameView.setImageBitmap(Draw(pieceSize));

            return true;
        }

    });

Ответы [ 3 ]

5 голосов
/ 12 января 2012

Вы можете использовать

onTouch(View v, MotionEvent event)

Вызывается, когда сенсорное событие отправляется на просмотр.

И получить x и y из объекта события.

Конечно, установив OnTouchListener для вида, над которым вы работаете.

0 голосов
/ 12 января 2012

Вы должны установить OnTouchListener и getX и getY события.Много ответов на этот.Например, здесь A: Получить координаты сенсорного события на Android

0 голосов
/ 12 января 2012

если вы поместили сенсорный слушатель в ImageView, то event.getX () и event.getY () должны возвращать значения, относящиеся к ImageView.

...