是否可以在ActionBar中添加Action Item,在点击时显示下拉菜单?
绘画示例:
P.S。 ActionBar已包含导航抽屉切换按钮,标题和溢出菜单。
我在哪里初始化该按钮,其中xml?
如何将此类下拉操作设置为操作项?
如何设置此类下拉菜单的内容?
如何访问特定项目点击操作?
一些有效的代码示例会很棒!
提前致谢。感谢任何帮助。
答案 0 :(得分:0)
所以我自己找到了解决方案。
您需要在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>
和万岁!结果如下: