В Android 4.0 Navigation Bar угон события первого касания - PullRequest
7 голосов
/ 23 ноября 2011

В Android 4.0 на устройствах без аппаратных клавиш навигации Android будет отображать панель навигации.

Вы можете скрыть это, если хотите, используя setSystemUiVisibility().

Если это будет сделано, скажем, если вы хотите получить как можно больше экрана для воспроизведения, при первом касании экрана (и да, на View вы реализуете View.onTouchEvent()), первое касание будет захвачено Android и ваш API не будет вызываться. Только когда панель навигации станет видимой, она будет вызываться.

Теперь этого можно избежать, послушав:

http://developer.android.com/reference/android/view/View.OnSystemUiVisibilityChangeListener.html

и когда панель навигации видна, просто делайте то, что вы будете делать при первом касании.

Есть ли другой способ сделать то же самое, который скажет, что Android 4.0 распространит событие касания на мое приложение, как только с ним будет покончить панель навигации?

Ответы [ 2 ]

2 голосов
/ 23 ноября 2011

Нет, система всегда использует первое прикосновение, которое возвращает панель навигации назад. Вы должны скрывать панель навигации только в том случае, если ваше приложение находится в неинтерактивном состоянии, например в режиме воспроизведения видео.

0 голосов
/ 06 октября 2012

В ICS вам нужно использовать слушатель.

...