如何构建一个具有可折叠搜索视图和单个可见操作项的
ActionBar
,当搜索视图展开时?更具体地说,这就是我所需要的:
请注意,还有其他菜单项,而
AndroidManifest.xml
中定义了android:uiOptions =“splitActionBarWhenNarrow”
。
我尝试设置自定义搜索项布局:
menu.xml
<item
android:id="@+id/menu_search"
android:actionLayout="@layout/actionbar_search"
android:icon="@drawable/action_search"
android:showAsAction="always|collapseActionView"
android:title="@string/search" />
操作栏搜索.xml
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:gravity="right"
android:orientation="horizontal" >
<com.actionbarsherlock.widget.SearchView
android:id="@+id/search_view"
android:layout_width="wrap_content"
android:layout_height="match_parent"
android:iconifiedByDefault="false"
android:queryHint="@string/search_hint" />
<ImageButton
android:id="@+id/add_item"
android:layout_width="wrap_content"
android:layout_height="match_parent"
style="@style/Widget.Sherlock.ActionButton"
android:src="@drawable/content_new"/>
</LinearLayout>
但默认情况下搜索视图占据了所有可用的宽度,按钮没有显示出来。我不知道如何强制SearchView
填充位于应用程序图标和菜单项之间的所有可用空间。我发现的都是android:maxWidth
属性,但这只允许硬编码尺寸,我正在寻找更灵活的解决方案。我还尝试了使用android:layout_toRightOf="@id/search_view"
的RelativeLayout
,但没有成功。