【发布时间】:2014-12-17 09:15:06
【问题描述】:
我正在尝试覆盖 Android 上硬件菜单按钮的行为,以使其在 ActionBar 中打开溢出菜单。
感谢this question,我能够在ActionBar 中显示溢出菜单。但是当我按下硬件菜单按钮时,会打开“普通”菜单(位于屏幕底部),而不是溢出菜单。
我尝试通过覆盖我的Activity 中的onKeyDown(int, KeyEvent) 来更改此设置,但它不起作用。
if (keyCode == KeyEvent.KEYCODE_MENU) {
// I am extending android.support.v7.app.ActionBarActivity
this.getSupportActionBar().openOptionsMenu();
return true;
}
经过调查,似乎getSupportActionBar()返回了android.support.v7.internal.app.WindowDecorActionBar的一个实例,在openOptionsMenu()中返回false而不是打开菜单。
还有其他方法可以实现吗?也许直接触发点击溢出图标?但是我怎样才能访问它呢?
【问题讨论】:
标签: android android-menu