更改工具栏中的微调器下拉图标

Change Spinner dropdown icon in toolbar

我正在尝试将工具栏中的图标用作微调器...这是我的 menu.xml:

<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=".MainActivity">
    <item
        android:id="@+id/action_search_cat"
        android:icon="@android:drawable/ic_menu_search"
        app:showAsAction="always|collapseActionView"
        app:actionViewClass="androidx.appcompat.widget.SearchView"
        android:title=".."/>
    <item
        android:id="@+id/action_filter_rating"
        app:showAsAction="always"
        android:actionViewClass="android.widget.Spinner"
        android:icon="@drawable/ic_star" // THIS LINE HAVE NO EFFECT 
        android:title=".." />
    <item
        android:id="@+id/action_manage_category"
        android:title=".."
        app:showAsAction="never" />
    <item
        android:id="@+id/action_export_csv"
        android:title="@string/export"
        app:showAsAction="never" />

现在下拉图标是默认图标 (android.widget.Spinner),有没有办法覆盖该图标?我想将微调器保留在菜单项中。 我想更改此图标:

我将接受所有其他解决方案,以在工具栏中实现自定义图标,在相同的位置,作为微调器(带下拉菜单)工作。谢谢!

在 MenuItem 上单击您可以膨胀 PopupMenu,它的行为类似于 Spinner。

menu.xml:

    <item
    android:id="@+id/action_filter_rating"
    app:showAsAction="ifRoom"
    android:icon="@drawable/ic_collections_white_24dp"
    android:enabled="true"
    android:title="@string/action_filter_rating"/>

Activity 菜单侦听器:

 @Override
public boolean onOptionsItemSelected(MenuItem item) {
    int id = item.getItemId();
    if (id == R.id.action_filter_rating) {
        View anchor = findViewById(R.id.action_filter_rating);
        PopupMenu popup = new PopupMenu(this, anchor);
        popup.getMenuInflater().inflate(R.menu.your_spinner_menu, popup.getMenu());
        popup.getMenu().add("You can dynamically add items");
        popup.setOnMenuItemClickListener(...);
        popup.show();
        return true;
    }
    return super.onOptionsItemSelected(item);
}