我想使整个红色圆圈区域(包括标题,操作栏的背景和搜索图标)可点击,但是我的代码仅允许搜索图标可点击。
我在这里找到了类似的问题:我在此问题中发现了相同的问题:How to increase the menuitem width in android while using Actionbar,但解决方案不适用于我的代码。
这是我的菜单xml:
<?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"
android:id="@+id/search_view_menu">
<item
android:id="@+id/action_search"
android:icon="@drawable/ic_search_dark"
app:actionViewClass="androidx.appcompat.widget.SearchView"
app:showAsAction="withText|ifRoom|collapseActionView"
android:title="Enter your item"
app:collapseIcon="@drawable/ic_close_dark"/>
</menu>
这是我的搜索Java
@Override
public boolean onCreateOptionsMenu(Menu menu) {
MenuInflater inflater = getMenuInflater();
inflater.inflate(R.menu.example_menu, menu);
MenuItem searchItem = menu.findItem(R.id.action_search);
SearchView searchView = (SearchView) searchItem.getActionView();
searchView.setMaxWidth(Integer.MAX_VALUE);
searchView.setImeOptions(EditorInfo.IME_ACTION_DONE);
searchView.setOnQueryTextListener(new SearchView.OnQueryTextListener() {
@Override
public boolean onQueryTextSubmit(String query) {
return false;
}
@Override
public boolean onQueryTextChange(String newText) {
adapter.getFilter().filter(newText);
return false;
}
});
return true;
}
您可以在SearchView
中将clickable设置为true>
android:clickable="true"
或将`setIconified更改为false
searchView.setIconified(false);
尝试一下: