我在Nexus 10(Android 4.2.1)上测试了我的应用程序,操作栏上的溢出菜单运行正常。所以当溢出菜单没有出现在Galaxy笔记2上时我感到傻眼。在阅读Android action bar not showing overflow和How To Control use of OverFlow Menu in ICS之后,我终于意识到在Galaxy note 2上有一个内置的菜单按钮,如果按下那个按钮,就会出现“溢出菜单”。
对这两个问题的回答表明不应该使用那里的代码来禁用永久菜单按钮,因为虽然它具有以下效果:(a)使溢出菜单出现在操作栏中,显然它也是(b) )也强制在其他应用程序中的相同行为。但是,对我来说,操作栏中的溢出菜单远远优于菜单按钮,这两个问题留下的评论表明其他人也这么认为。
我的问题是,有什么可以使用该代码来禁用onResume()中的永久菜单按钮,并在onPause()中重新启用它?在我选择的应用程序中,操作栏溢出菜单的工作方式有多可靠,所有其他应用程序保持不变?
仅仅是为了记录,在我看来,Android设计师(软件和硬件)以某种方式密谋创建这个问题,并没有简单的解决方案。一些程序员认为让所有应用程序在单个设备上以相同的方式工作比让任何特定应用程序在不同设备上以相同方式工作更重要。其他程序员则反其道而行之。
答案 0 :(得分:1)
正如其他人所说,你真的不应该这样做。让菜单工作,但它在每个其他应用程序(当然取决于设备)。
此外,您无法在其他应用中影响菜单按钮的行为,因此您不必担心整个onPause / onResume业务。