Значение Y местоположения TouchEvent в Android больше высоты экрана при нажатии на нижнюю часть экрана ⇐ Android
Значение Y местоположения TouchEvent в Android больше высоты экрана при нажатии на нижнюю часть экрана
Я работаю над приложением, которое представляет собой киоск, и пытаюсь создать поведение, при котором, когда пользователь щелкает все 4 угла экрана, я запускаю код для выхода из режима киоска. У меня большая часть кода настроена и работает, но я столкнулся с проблемой, когда два условия не вызываются. После отладки я заметил, что MouseEvent возвращает значение y, превышающее высоту экрана, и я не могу определить, почему. Щелчок в верхнем правом и левом углах экрана регистрируется хорошо, но проблема возникает именно внизу. Есть ли что-то, что мне не хватает?
Я пытался использовать этот пример, чтобы найти границы, но меня это немного смутило, поскольку maxY, кажется, находится в нижней части экрана. Кажется, что проверка maxY не удалась, потому что, хотя maxY экрана равен 736, мои значения y при касании показывают более высокие значения. Может кто-нибудь сказать мне, что я упускаю или делаю неправильно?
Границы моих макетов соответствуют ширине и высоте.
@NotNull частный View.OnTouchListener setupMotionListener() { вернуть новый View.OnTouchListener() { @Override public boolean onTouch(View arg0, MotionEvent arg1) { int count = arg1.getPointerCount(); если (счет == 4) { for (int i = 0; i < count; i++) { х = arg1.getX(i); y = arg1.getY(i); } Отобразить mdisp = getWindowManager().getDefaultDisplay(); Точка mdispSize = новая точка(); mdisp.getSize(mdispSize); int maxX = mdispSize.x; int maxY = mdispSize.y; for (int i = 0; i < count; i++) { if (x >= 0 && x = 0 && y = 0 && x = 0 && y
Я работаю над приложением, которое представляет собой киоск, и пытаюсь создать поведение, при котором, когда пользователь щелкает все 4 угла экрана, я запускаю код для выхода из режима киоска. У меня большая часть кода настроена и работает, но я столкнулся с проблемой, когда два условия не вызываются. После отладки я заметил, что MouseEvent возвращает значение y, превышающее высоту экрана, и я не могу определить, почему. Щелчок в верхнем правом и левом углах экрана регистрируется хорошо, но проблема возникает именно внизу. Есть ли что-то, что мне не хватает?
Я пытался использовать этот пример, чтобы найти границы, но меня это немного смутило, поскольку maxY, кажется, находится в нижней части экрана. Кажется, что проверка maxY не удалась, потому что, хотя maxY экрана равен 736, мои значения y при касании показывают более высокие значения. Может кто-нибудь сказать мне, что я упускаю или делаю неправильно?
Границы моих макетов соответствуют ширине и высоте.
@NotNull частный View.OnTouchListener setupMotionListener() { вернуть новый View.OnTouchListener() { @Override public boolean onTouch(View arg0, MotionEvent arg1) { int count = arg1.getPointerCount(); если (счет == 4) { for (int i = 0; i < count; i++) { х = arg1.getX(i); y = arg1.getY(i); } Отобразить mdisp = getWindowManager().getDefaultDisplay(); Точка mdispSize = новая точка(); mdisp.getSize(mdispSize); int maxX = mdispSize.x; int maxY = mdispSize.y; for (int i = 0; i < count; i++) { if (x >= 0 && x = 0 && y = 0 && x = 0 && y
-
- Похожие темы
- Ответы
- Просмотры
- Последнее сообщение