在我的应用程序中,我使用的是 ActionBarSherlock 4.4。
由于 ForcedOverflow 已从最新版本中删除,因此我使用以下 XML 代码来复制 OverflowMenu。
<menu xmlns:android="http://schemas.android.com/apk/res/android">
<item
android:id="@+id/menu_overflow"
android:icon="@drawable/abs__ic_menu_moreoverflow_holo_dark"
android:orderInCategory="100"
android:showAsAction="always">
<menu>
<item
android:id="@+id/action_settings"
android:showAsAction="never"
android:title="@string/action_settings" />
<item
android:id="@+id/recycleBin"
android:showAsAction="never"
android:title="Recycle Bin" />
</menu>
</item>
</menu>
对于 Android 4.3 和 2.3.3,Overflow 现在对我来说非常有效。
我的问题 :
2.3.3 设备有一个硬件菜单键。我希望当按下菜单键时,应该打开溢出选项菜单。
我在Activity中使用了以下代码,但它不起作用。(虽然我在我的 LogCat 中收到了消息)
@Override
public boolean onKeyUp(int keyCode, KeyEvent event) {
if (Build.VERSION.SDK_INT < Build.VERSION_CODES.HONEYCOMB) {
if (event.getAction() == KeyEvent.ACTION_UP &&
keyCode == KeyEvent.KEYCODE_MENU) {
Log.d("HomeActivity", "OpenOptionsMenu");
openOptionsMenu();
return true;
}
}
return super.onKeyUp(keyCode, event);
}
我环顾四周,尝试了所有建议的解决方案。但是没有人在谈论使用openOptionsMenu()
.
我在这里错过了什么吗?
有没有一种方法可以使它看起来好像父溢出图标项android:id="@+id/menu_overflow"
已被单击?
如果有人指出我在这里错过了什么,那就太好了。