Android SearchView扩展样式取决于项目顺序
我在工具栏中使用SearchView(support.v7),我面临以下问题。当我将搜索图标的位置设置为最右侧图标时,三个矩形图标显示在左侧 如果我把搜索图标放在最左边的图标上,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
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
将(可能)右侧的项目移出屏幕,而左侧的项目保持在其位置上。谢谢你的建议