OnClick и onTouch - PullRequest
       6

OnClick и onTouch

0 голосов
/ 29 марта 2012

У меня есть действие, в котором у меня есть два imagesViews.

Это для imagesViews имеет onClickListener, потому что мне нужно знать, какой imageView был нажат.После того, как я щелкаю по выбранной картинке, я получаю результат, по какой картинке щелкнули.

Я знаю, нужен такой же результат, но мне нужно знать, где именно я нажимаю на эту картинку.Мне нужны точные координаты, где был нажат этот imageView.Я знаю, что в методе onTouch у меня есть функции, которые мне нужны.

Могу ли я изменить метод onClick для onTouch?Или в onClick можно получить точные координаты?

Ответы [ 3 ]

4 голосов
/ 29 марта 2012

Нет необходимости использовать событие onClick, поскольку вы можете легко захватить щелчок, используя обратный вызов onTouch.Щелчок - это последовательность одного действия ACTION_DOWN, нескольких действий ACTION_MOVE и одного действия ACTION_UP.Их можно получить с помощью метода event.getAction().Если вы получаете событие ACTION_DOWN, а затем событие ACTION_UP - это означает, что пользователь только что нажал на ваш View.Вы также можете измерить время, проведенное между этими событиями, чтобы убедиться, что это был простой, а не длинный щелчок.И, конечно, вы можете использовать методы event.getX() и event.getY(), чтобы получить точную точку касания.Надеюсь, это поможет.

3 голосов
/ 29 марта 2012

вы можете использовать метод onTouch () для получения сенсорных координат

touchView.setOnTouchListener(new View.OnTouchListener() {
    @Override
    public boolean onTouch(View v, MotionEvent event) {
        System.out.println("Touch coordinates : " +
            String.valueOf(event.getX()) + "x" + String.valueOf(event.getY()));
            return true;
    }
});
0 голосов
/ 29 марта 2012

onclick не может этого сделать.Вы можете получить их только из onTouchListener.

вопрос с этой информацией

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...