Получить координаты экрана в приложении для Android

#android #android-layout

#Android #android-макет

Вопрос:

Я разрабатываю приложение для Android, и мне нужно обрабатывать различные события касания.

Учитывайте следующие требования:

  • Если пользователь коснется правой части экрана, я хочу отобразить следующий экран.

  • Если пользователь коснется левой части экрана, я хочу отобразить предыдущий экран.

В целом у меня около 25 экранов.

Как я могу получить логические координаты экрана и запустить требуемое событие?

Ответ №1:

Вы можете использовать этот метод для согласования X и Y экрана:

 @Override
    public boolean onTouchEvent(MotionEvent event) {
        // TODO Auto-generated method stub
         float xcoordinated =event.getX();
         float ycoordinated =event.getY();
         return super.onTouchEvent(event);
    }
  

Комментарии:

1. Да, это определенно поможет мне, но как узнать, что заданные координаты x и y находятся в левой или правой части экрана.

2. Я считаю, что x = 0, y = 0 для верхнего левого угла.

3. Хорошо, получаем высоту и ширину устройства, например, height = 100 и width = 100, если ваше значение xcoordinate меньше, чем width / 2, оно левое, в остальном оно такое же, как и для height

Ответ №2:

Переопределить общедоступное логическое значение onTouchEvent (событие MotionEvent) {

      float x =event.getRawX();
     float y =event.getRawY();
     return super.onTouchEvent(event);
}
  

Примечание: getX() и getY() возвращает положение (x, y) касания по отношению к виду, getRawX() и getRawY() возвращает положение (x, y) по отношению к экрану вашего телефона Android.