操作项充当下拉菜单

Action Item acts as drop down menu

是否可以在ActionBar中添加Action Item,点击后显示下拉菜单?

绘画示例:

P.S。 ActionBar 已经包含导航抽屉切换按钮、标题和溢出菜单。

  1. 我在哪里初始化那个按钮,xml?

  2. 如何将此类下拉操作设置为Action Item?

  3. 如何设置这样的下拉菜单的内容?

  4. 以及如何访问特定项目的点击操作?

一些工作代码示例会很棒!

提前致谢。感谢任何帮助。

所以我自己找到了解决方案。

您需要在 onCreateOptionsMenu(Menu menu) 中膨胀操作项:

getMenuInflater().inflate(R.menu.global_filters, menu);

global_filters.xml:

<?xml version="1.0" encoding="utf-8"?>
<menu xmlns:android="http://schemas.android.com/apk/res/android"
 xmlns:app="http://schemas.android.com/apk/res-auto"
 xmlns:tools="http://schemas.android.com/tools"
 tools:context=".NavigationActivity">

<item android:id="@+id/action_filters"
    android:title="Фильтры"
    android:icon="@drawable/ic_filter_white"
    android:orderInCategory="100"
    app:showAsAction="ifRoom" />
</menu>

...这是向下的箭头:

然后创建一个PopupMenu。我在 onOptionsItemSelected:

 View menuItemView = findViewById(R.id.action_filters); // SAME ID AS MENU ID
    PopupMenu popupMenu = new PopupMenu(this, menuItemView);
    popupMenu.inflate(R.menu.popup_filters_user);
    popupMenu.show();

在这里你设置了 .xml 文件,其中包含文件 popup_filters_user.xml:

中的下拉菜单项
<?xml version="1.0" encoding="utf-8"?>
<menu xmlns:android="http://schemas.android.com/apk/res/android" >
<item
    android:id="@+id/filter_bought_user"
    android:title="Купленые"/>
<item
    android:id="@+id/filter_price_user"
    android:title="Цена"/>
<item
    android:id="@+id/filter_author_user"
    android:title="Автор"/>
</menu>

万岁!结果如下:

如果您的菜单在片段中,那么您可以使用以下方法获取视图

View menuItemView = MainActivity.getInstance().getWindow().findViewById(R.id.action_filters);