2011-11-23 40 views
7

在Android 4.0上沒有硬件導航鍵的設備上,Android會渲染導航欄。在Android 4.0中導航欄劫持第一觸摸事件

如果您想使用setSystemUiVisibility(),您可以隱藏它。

如果這樣做,可以說如果你想獲得儘可能多的屏幕回放,當你第一次觸摸屏幕(是的,在View你實現View.onTouchEvent()),第一次觸摸將被Android和您的API劫持將不會被調用。只有導航欄可見時纔會被調用。

現在,可以通過聽也應避免:

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

,並在導航欄是可見的只是做你會做的第一觸摸的東西。

有沒有其他的方式來做同樣的事情,一旦導航欄完成了,Android 4.0會將觸摸事件傳播到我的應用程序?

+0

你是怎麼解決這個問題的? – serenskye

回答

0

在ICS中,您需要使用偵聽器。

2

不,系統總是會消耗導致導航欄返回的第一次觸摸。如果您的應用處於非交互式狀態(如視頻播放),則應該只隱藏導航欄。

+1

這不是它被問到的。答案是,除了使用監聽器之外,沒有其他方法可以做到這一點,正如我在討論中所討論的那樣。它運行良好,但我仍然認爲這是Android團隊的錯誤設計決定。 – Perun