在具有上下文操作栏的AppCompat活动中
尝试将android.support.v7.widget.SearchView添加到操作模式菜单 searchView不会扩展
using appcompat-v7:25.2.0
菜单资源文件
<?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">
<item
android:id="@+id/action_search"
android:icon="@drawable/ic_search_dark_24dp"
android:title="@string/search_list"
app:actionViewClass="android.support.v7.widget.SearchView"
app:showAsAction="always|collapseActionView" />
<item
android:id="@+id/item_two"
android:icon="@drawable/item_two"
android:title="@string/item_two"
app:showAsAction="ifRoom"
>
</item>
</menu>
活动主题
<style name="AppTheme.NoActionBar">
<item name="windowActionBar">false</item>
<item name="windowNoTitle">true</item>
<item name="windowActionModeOverlay">false</item>
<item name="actionModeBackground">@color/colorPrimaryDark</item>
</style>
活动代码
private class SelectionActionModeCallBack implements ActionMode.Callback {
private SearchView mSearchView;
SelectionActionModeCallBack() {
}
@Override
public boolean onCreateActionMode(ActionMode mode, Menu menu) {
mode.getMenuInflater().inflate(R.menu.book_selection_action_menu, menu);//Inflate the menu over action mode
mSearchView =
(SearchView) menu.findItem(R.id.action_search).getActionView();
mSearchView.setOnQueryTextListener(new SearchView.OnQueryTextListener() {
@Override
public boolean onQueryTextSubmit(String s) {
startSearch(s);
return true;
}
@Override
public boolean onQueryTextChange(String s) {
return false;
}
});
return true;
}
@Override
public boolean onPrepareActionMode(ActionMode mode, Menu menu) {
mSearchView.requestFocus();
return true;
}
这与文档
相矛盾答案 0 :(得分:0)
与在操作栏中使用“搜索视图”时的情况相反,在动作模式中使用其他项目时,搜索视图具有所需的可折叠效果 使用
app:showAsAction="always"
没有collapseActionView!