最近開發中有需要menu鍵,結果發現了一個很尴尬的問題,我的測試機上有menu鍵,但是測試平闆上沒有,隊友的測試機上居然也沒有menu鍵,這着實有些尴尬...
上網谷歌之後才發現問題所在:
隻有在android
4.0 之前的機器中,menu 鍵是才作為硬體存在的,之後的機器有的有,有的就沒有了,比如三星的s3,note2等等都是有這個按鍵的,但是更多的手機取消了這個按鍵,是以如果工程中有用到這個按鍵,那就必須調低最低版本, 比如android 2.2 的工程,跑到了 4.0 的機器上面(4.0已經取消了
硬體menu),那麼就會造成menu 鍵的缺失,是以google
在對支援 android 4.0 以前版本的項目都會預設加上虛拟menu鍵。
是以最關鍵的點在 清單檔案中的:<uses-sdk android:minsdkversion="14" />,如果你支援 4.0 以
前的版本,就會給你加上虛拟menu了。
此時在每個activity 的最下面,多了一個虛拟的menu鍵,每次點選螢幕它都會優先的出現。 在systemui中,它是第一個接
受到點選的事件。
如果你最低版本就是支援 4.0 ,那麼google
會認為,你已經知道了這種硬體上的改變,所帶來軟體的
差異,你要在程式中自己處理這種硬體menu取消的問題,他就不會強制性給你加上虛拟menu了。