使用 collapseActionView 搜索视图 | 始终在操作菜单上不起作用
Search View with collapseActionView|always does not work on Action Menu
在具有上下文操作栏的 AppCompat activity 中
正在尝试将 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>
Activity 主题
<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>
Activity代码
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;
}
这与文档相矛盾
与在操作栏中使用搜索视图的情况相反,搜索视图具有所需的可折叠效果,同时在操作模式中有其他项目
使用
app:showAsAction="always"
没有 collapseActionView !
在具有上下文操作栏的 AppCompat activity 中
正在尝试将 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>
Activity 主题
<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>
Activity代码
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;
}
这与文档相矛盾
与在操作栏中使用搜索视图的情况相反,搜索视图具有所需的可折叠效果,同时在操作模式中有其他项目 使用
app:showAsAction="always"
没有 collapseActionView !