#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.