在菜单按钮上单击显示自定义操作项菜单

时间:2013-12-11 14:11:33

标签: android android-actionbar android-menu popupmenubutton

我正在尝试将自定义菜单按钮创建为Action项, 这是我使用的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>

这是输出

enter image description here

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

1 个答案:

答案 0 :(得分:2)

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

public boolean onKeyDown(int keyCode, KeyEvent event) {
    if (keyCode == KeyEvent.KEYCODE_MENU) {
        openOptionsMenu()
        return true;
    }
    return super.onKeyDown(keyCode, event);
}