Android 4.0 桌面底部狀態列分為兩個部分:左邊是三個導航鍵:從左置右依次是:返回鍵 ,Home鍵和RecentApplication鍵,就是檢視最近開啟的所有程式,多工切換就在這裏。
客戶的要求需要把底部狀態列進行隱藏,通過物理按鍵進行操作就可以了,這些虛擬按鍵還有右邊的狀態導航都全部隱藏。我最初以為在Launcher裏面實現的,看程式碼看了看了半個多小時居然連個返回按鈕的圖示都沒有找到。心裏想開啟任意程式居然都可以顯示在下方應該是系統UI把,我就試著去(frameworks/base/packages/SystemUI/res)下面的drawable理解找「返回鍵」圖示,居然找到了,心裏盡是歡喜。順藤摸瓜最後找到圖示所屬的java類是TabletStatusBar.java(frameworks/base/packages/SystemUI/src/com/android/systemui/statusbar/tablet)在找到該類下的makeStatusBarView()方法就可以看到
// The navigation buttons
final TabletStatusBarView sb =(TabletStatusBarView)View.inflate(context, R.layout.status_bar, null); TabletStatusBarView.java類是繼承FrameLayout,在這裏就可以設定它的隱藏或者顯示屬性了。暫且到這裏底層的事件傳遞虛擬按鍵的原理後續獻上。
本文來自新浪部落格