我在 Nexus 10 (Android 4.2.1) 上测试了我的应用程序,操作栏上的溢出菜单运行良好。所以当 Galaxy Note 2 上没有出现溢出菜单时,我傻眼了。在阅读了Android 操作栏不显示溢出和How To Control use of OverFlow Menu in ICS之后,我最终意识到 Galaxy Note 2 上有一个内置的菜单按钮,如果按下该按钮,就会出现“溢出菜单”。
对这两个问题的回答表明,不应使用那里的代码来禁用永久菜单按钮,因为虽然它具有 (a) 使溢出菜单出现在操作栏中的效果,但显然它也 (b) 强制在其他应用程序中也有相同的行为。但是,对我来说,操作栏中的溢出菜单远远优于菜单按钮,对这两个问题的评论表明其他人也这么认为。
我的问题是,有什么可能使用该代码来禁用 onResume() 中的永久菜单按钮,并在 onPause() 中重新启用它?使操作栏溢出菜单在我选择的应用程序中工作的方法有多可靠,而所有其他应用程序保持不变?
仅作记录,在我看来,Android 设计者(软件和硬件)以某种方式密谋制造了这个问题,而且没有简单的解决方案。一些程序员认为,让所有应用程序在单个设备上以相同的方式工作比让任何特定应用程序在不同设备上以相同的方式工作更重要。其他程序员则相反。