最近开发中有需要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了。