Android Show DropDown菜单在MenuItem上单击 [英] Android Show DropDown Menu on MenuItem click

查看:236
本文介绍了Android Show DropDown菜单在MenuItem上单击的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我想在 MenuItem 上显示 DropDown 菜单,就像,但我已经知道 ActionBar.setListNavigationCallbacks() code>已被弃用。



谢谢!

解决方案

创建您的菜单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
更多项
< / 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;
...

默认值:
返回super.onOptionsItemSelected(item);
}
}


I want to show DropDown menu on MenuItem click just like this.

Like this

Note that this item was added like:

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

And in my code:

@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);
 }

I have seen this link but I have came to know that ActionBar.setListNavigationCallbacks() has been deprecated.

Thanks!

解决方案

Create your menu xml as follow

 <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>

Then

@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 Show DropDown菜单在MenuItem上单击的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆