Вкл. Android Q, когда включена навигация жестами, большая часть левого (и правого) края экрана зарезервирована для жеста спины. Это конфликтует с ящиком навигации, который я использую. В то время как новейшие библиотеки androidx включают в себя поддержку открывания выдвижного ящика длинным нажатием по краю + пролистывание, этот жест слишком ненадежный - он часто производит длинные нажатия на внутренние виды или жесты назад вместо открытия выдвижного ящика.
Поскольку Навигационный ящик является очень часто используемым элементом в приложении, я хочу дать пользователю возможность иметь область в нижней части экрана, где он может открывать ящик в обычном режиме. Я могу использовать View#setSystemGestureExclusionRects
для этого. Это ограничивает зону запрета до 200dp, что не так уж и много. Я заметил, что левая зона жестов не начинается в нижней части экрана, она начинается где-то выше нижней зоны жестов - на левом краю экрана есть место, где зона жестов не применяется. Чтобы максимизировать 200dp, который я получаю, я хочу разместить зону исключения точно внизу зоны жестов. Для этого мне нужно найти точные вертикальные координаты зоны жеста. Как я могу это сделать?
В качестве альтернативы, могу ли я получить более 200dp при сохранении обычных жестов навигации?