Таким образом, я нашел решение самостоятельно.
Вы должны inflatean Действие пункта в 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>
и ура! Вот результат:
Я не уверен, что видел что-то подобное в других приложениях. Но я верю, что вы можете добавить spinner в панель действий, чтобы реализовать это. Или посмотрите на Провайдера действий http://developer.android.com/guide/topics/ui/actionbar.html – olyv
Вы можете ознакомиться с [руководством разработчика.android] (http://developer.android.com/guide/topics /ui/actionbar.html#Dropdown) или следуйте этому [учебнику] (http://wptrafficanalyzer.in/blog/adding-drop-down-navigation-to-action-bar-in-android/). –