我需要让SearchView始终处于展开状态,并在ActionBar中再添加一个按钮,以便用户可以快速访问搜索活动中的搜索字符串。
我有这个活动的菜单布局:
<menu xmlns:android="http://schemas.android.com/apk/res/android">
<item android:id="@+id/action_search"
android:title="@string/action_search"
android:icon="@drawable/ic_action_search"
android:showAsAction="always"
android:actionViewClass="com.actionbarsherlock.widget.SearchView"/>
<item android:id="@+id/action_configure"
android:title="@string/action_configure"
android:icon="@android:drawable/ic_menu_preferences"
android:showAsAction="always" />
</menu>
在搜索活动类中,我按照以下方式配置ActionBar:
@Override
public boolean onCreateOptionsMenu(Menu menu) {
getSupportMenuInflater().inflate(R.menu.search, menu);
SearchManager searchManager = (SearchManager) getSystemService(Context.SEARCH_SERVICE);
SearchView searchView = (SearchView)menu.findItem(R.id.action_search).getActionView();
searchView.setSearchableInfo(searchManager.getSearchableInfo(getComponentName()));
searchView.setIconifiedByDefault(false);
searchView.setSubmitButtonEnabled(false);
return true;
}
问题在于,如果我执行
searchView.setIconifiedByDefault(false);
,我看到这张图片:![enter image description here](https://istack.dev59.com/wdYGF.webp)
你可以注意到没有第二个菜单项。在这里,如果我设置android:showAsAction="always|collapseActionView",它默认会折叠,但是现在我可以看到第二个项目:
![enter image description here](https://istack.dev59.com/BPXbz.webp)
在上面的图片中,我已经按下了搜索图标
我无法解决两个问题:
- 如何始终显示两个元素:扩展的搜索视图和用于配置操作的图标?
- 如何摆脱这个丑陋的第二个搜索图标?