На Android Q, как я могу получить вертикальные координаты левой зоны навигации? - PullRequest
0 голосов
/ 17 января 2020

Вкл. Android Q, когда включена навигация жестами, большая часть левого (и правого) края экрана зарезервирована для жеста спины. Это конфликтует с ящиком навигации, который я использую. В то время как новейшие библиотеки androidx включают в себя поддержку открывания выдвижного ящика длинным нажатием по краю + пролистывание, этот жест слишком ненадежный - он часто производит длинные нажатия на внутренние виды или жесты назад вместо открытия выдвижного ящика.

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

В качестве альтернативы, могу ли я получить более 200dp при сохранении обычных жестов навигации?

...