Android 在 MenuItem 上单击显示下拉菜单

标签 android drop-down-menu android-studio android-actionbar

我想在MenuItem 点击时显示DropDown 菜单,就像this .

enter image description here

像这样

enter image description here

请注意,此项目的添加方式如下:

<item
    android:id="@+id/menu_item_action_parameters"
    android:title="@string/text_parameters"
    android:icon="@drawable/ic_menu_parameter"
    app:showAsAction="ifRoom|withText"/>
</item>

在我的代码中:

@Override
public boolean onOptionsItemSelected(MenuItem item) {
    int id = item.getItemId();
    switch (id) {
        case R.id.menu_item_action_parameters:
            // What to do here?
            break;
    }
    return super.onOptionsItemSelected(item);
 }

我看过这个link但我知道 ActionBar.setListNavigationCallbacks() 已被弃用。

谢谢!

最佳答案

如下创建菜单 xml

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

    <item
       android:id="@+id/menu_item_action_parameters"
       android:title="@string/text_parameters"
       android:icon="@drawable/ic_menu_parameter"
       app:showAsAction="ifRoom|withText"/> >
       <menu>
          <item 
            android:id="@+id/action_dropdown1"
            android:title="@string/dropdown_1" />
          <item 
            android:id="@+id/action_dropdown2"
            android:title="@string/dropdown2" />
          <item 
            android:id="@+id/action_dropdown3"
            android:title="@string/dropdown3" />
        </menu>
    </item>

    <item
      more item
    </item>
</menu>

然后

@Override
public boolean onOptionsItemSelected(MenuItem item) {
    int id = item.getItemId();
    switch (id) {
        case R.id.action_dropdown1:
            ...
            return true;

        case R.id.action_dropdown2:
            ...
            return true;
        ...

        default:
            return super.onOptionsItemSelected(item);
     }
 }

关于Android 在 MenuItem 上单击显示下拉菜单,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29742537/

相关文章:

javascript - 我如何从 Java 发送对象(如 Javascript 对象)?

html - 元素的放置

Android Studio 在 Logcat 中缺少异常堆栈跟踪

android - 是否有任何修复 Android Studio 在 Macbook Pro 中不断断开测试设备的问题?

android - 在附加的堆栈跟踪中获取了资源,但从未释放。有关避免资源泄漏的信息,请参阅 java.io.Closeable

android - onLongClick 显示菜单选项

java - 在操作栏上搜索 ListView 项目

c# - 如何将gridview与来自两个不同表的数据绑定(bind)C#

php - 包含数据库中值的下拉菜单

android - 在 Android Studio 2.2.3 中导入 aar 文件时出错