0

我正在尝试创建一个自定义菜单按钮作为操作项,这是我使用的 xml 资源

<menu 
    xmlns:spyder="http://schemas.android.com/apk/res-auto"
    xmlns:android="http://schemas.android.com/apk/res/android" >

<item android:id="@+id/menu_search_customers"
      android:title="@string/hello_world"
      android:icon="@android:drawable/ic_menu_search"
      spyder:showAsAction="ifRoom|collapseActionView"
      spyder:actionViewClass="android.support.v7.widget.SearchView" />

    <item
        android:id="@+id/menu_overflow"
        android:icon="@drawable/abc_ic_menu_moreoverflow_normal_holo_light"
        android:orderInCategory="11111"
        spyder:showAsAction="always">
        <menu>
            <item
                android:id="@+id/menu_overflow_item1"
                spyder:showAsAction="never"
                android:title="Item1"/>
            <item
                android:id="@+id/menu_overflow_item2"
               spyder:showAsAction="never"
                android:title="Item2"/>
        </menu>
</item>
</menu>

这是输出

在此处输入图像描述

当我按预期单击操作项时菜单弹出窗口,我也想在硬件菜单按钮单击时弹出它。那可能吗?

4

1 回答 1

2

您可以使用以下功能捕获硬件菜单单击。

public boolean onKeyDown(int keyCode, KeyEvent event) {
    if (keyCode == KeyEvent.KEYCODE_MENU) {
        openOptionsMenu()
        return true;
    }
    return super.onKeyDown(keyCode, event);
}
于 2013-12-11T14:57:14.383 回答