Android SearchView扩展样式取决于项目顺序

Android SearchView扩展样式取决于项目顺序,android,searchview,android-toolbar,Android,Searchview,Android Toolbar,我在工具栏中使用SearchView(support.v7),我面临以下问题。当我将搜索图标的位置设置为最右侧图标时,三个矩形图标显示在左侧 如果我把搜索图标放在最左边的图标上,ActionViewwith search替换了几乎整个工具栏a并隐藏了三个矩形图标。我想进入工具栏1操作项顺序,但使用工具栏2扩展样式 工具栏1: 工具栏1-已展开: 工具栏2: 工具栏2-已展开: 菜单创建: @Override public void onCreateOptionsMenu(final Menu

我在工具栏中使用SearchView(support.v7),我面临以下问题。当我将搜索图标的位置设置为最右侧图标时,三个矩形图标显示在左侧

如果我把搜索图标放在最左边的图标上,
ActionView
with search替换了几乎整个
工具栏
a并隐藏了三个矩形图标。我想进入工具栏1操作项顺序,但使用工具栏2扩展样式

工具栏1: 工具栏1-已展开:

工具栏2: 工具栏2-已展开:

菜单创建:

@Override
public void onCreateOptionsMenu(final Menu menu, MenuInflater inflater) {
    inflater.inflate(R.menu.menu_search, menu); // just switching these 2 lines
    inflater.inflate(R.menu.menu_nearby, menu); // to reach different expansion styles

    // show only one of two icons in menu_nearby
    menu.findItem(R.id.menu_list).setVisible(!listVisible);
    menu.findItem(R.id.menu_map).setVisible(listVisible);

    final SearchView searchView = (SearchView) MenuItemCompat.getActionView(menu.findItem(R.id.menu_search));
    final MyAdapter adapter = new MyAdapter(getActivity());
    searchView.setSuggestionsAdapter(adapter);
}
菜单\u search.xml

<menu
    xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto">
    <item
        android:id="@+id/menu_search"
        android:icon="@drawable/ic_menu_search"
        android:title="@string/menu_search"
        app:actionViewClass="android.support.v7.widget.SearchView"
        app:showAsAction="always"/>
</menu>
<menu xmlns:android="http://schemas.android.com/apk/res/android"
      xmlns:app="http://schemas.android.com/apk/res-auto">
    <item
        android:id="@+id/menu_map"
        android:title="@string/map"
        android:icon="@drawable/ic_map"
        app:showAsAction="always"/>

    <item
        android:id="@+id/menu_list"
        android:title="@string/list"
        android:icon="@drawable/ic_nearby_list"
        app:showAsAction="always"/>
</menu>
<style name="SearchViewStyle" parent="Widget.AppCompat.SearchView">
    <item name="closeIcon">@drawable/ic_cancel_search</item>
    <item name="searchIcon">@drawable/ic_menu_search</item>
    <item name="queryBackground">@drawable/bg_search_view</item>
    <item name="queryHint">@string/search_term</item>
</style>

菜单\u附近的.xml

<menu
    xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto">
    <item
        android:id="@+id/menu_search"
        android:icon="@drawable/ic_menu_search"
        android:title="@string/menu_search"
        app:actionViewClass="android.support.v7.widget.SearchView"
        app:showAsAction="always"/>
</menu>
<menu xmlns:android="http://schemas.android.com/apk/res/android"
      xmlns:app="http://schemas.android.com/apk/res-auto">
    <item
        android:id="@+id/menu_map"
        android:title="@string/map"
        android:icon="@drawable/ic_map"
        app:showAsAction="always"/>

    <item
        android:id="@+id/menu_list"
        android:title="@string/list"
        android:icon="@drawable/ic_nearby_list"
        app:showAsAction="always"/>
</menu>
<style name="SearchViewStyle" parent="Widget.AppCompat.SearchView">
    <item name="closeIcon">@drawable/ic_cancel_search</item>
    <item name="searchIcon">@drawable/ic_menu_search</item>
    <item name="queryBackground">@drawable/bg_search_view</item>
    <item name="queryHint">@string/search_term</item>
</style>

style.xml中的SearchView样式:

<menu
    xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto">
    <item
        android:id="@+id/menu_search"
        android:icon="@drawable/ic_menu_search"
        android:title="@string/menu_search"
        app:actionViewClass="android.support.v7.widget.SearchView"
        app:showAsAction="always"/>
</menu>
<menu xmlns:android="http://schemas.android.com/apk/res/android"
      xmlns:app="http://schemas.android.com/apk/res-auto">
    <item
        android:id="@+id/menu_map"
        android:title="@string/map"
        android:icon="@drawable/ic_map"
        app:showAsAction="always"/>

    <item
        android:id="@+id/menu_list"
        android:title="@string/list"
        android:icon="@drawable/ic_nearby_list"
        app:showAsAction="always"/>
</menu>
<style name="SearchViewStyle" parent="Widget.AppCompat.SearchView">
    <item name="closeIcon">@drawable/ic_cancel_search</item>
    <item name="searchIcon">@drawable/ic_menu_search</item>
    <item name="queryBackground">@drawable/bg_search_view</item>
    <item name="queryHint">@string/search_term</item>
</style>

@可提取/集成电路取消搜索
@可绘制/集成电路菜单搜索
@可绘图/背景搜索视图
@字符串/搜索词
这真的很有趣,为什么
SearchView
将(可能)右侧的项目移出屏幕,而左侧的项目保持在其位置上。谢谢你的建议