Почему самая большая координатная точка на оси Y (см. Второй оператор журнала) не совпадает (или близка к значению) event.getY (), когда я касаюсь самой нижней части экрана?
@Override
public boolean onTouchEvent(MotionEvent event) {
switch (event.getAction()) {
case MotionEvent.ACTION_DOWN:
Log.d(TAG, "y coordinate: " + event.getY());
Log.d(TAG, "onTouchEvent: max y = " +
InputDevice.getDevice(event.getDeviceId())
.getMotionRange(MotionEvent.AXIS_Y).getMax());
}
}
Первый оператор журнала дает мне 2111.0, а второй дает 2559.0 на моем Pixel XL.Даже принимая во внимание небольшую погрешность между моим прикосновением и самой нижней точкой, я не думаю, что должна быть такая большая разница между ними.
Я пробовал код на устройстве без экранных кнопок (Samsung Galaxy S6), и у меня возникает та же проблема (с разными значениями).Здесь также нет смещения, так как я проверил, что 0.0 является самой верхней точкой.У меня нет этой проблемы с осью X.Нужно ли добавлять на высоту панели действий?