Android 添加不带操作栏的可折叠SearchView操作栏
我有一个标题布局看起来像这样 现在,在按钮右侧的下一个位置,我想添加此图像,并尝试使用可折叠的SearchView而不使用操作栏,这意味着我想在布局标题上应用操作栏搜索视图的相同效果 我还想删除标题上方的应用程序的名称和图标 你知道如何做到这一点吗 感谢您的帮助/建议 先谢谢你 编辑:: 到目前为止我所尝试的是 这是我的标题.xmlAndroid 添加不带操作栏的可折叠SearchView操作栏,android,actionbarsherlock,searchview,collapsable,Android,Actionbarsherlock,Searchview,Collapsable,我有一个标题布局看起来像这样 现在,在按钮右侧的下一个位置,我想添加此图像,并尝试使用可折叠的SearchView而不使用操作栏,这意味着我想在布局标题上应用操作栏搜索视图的相同效果 我还想删除标题上方的应用程序的名称和图标 你知道如何做到这一点吗 感谢您的帮助/建议 先谢谢你 编辑:: 到目前为止我所尝试的是 这是我的标题.xml <?xml version="1.0" encoding="utf-8"?> <merge xmlns:android="http://schem
<?xml version="1.0" encoding="utf-8"?>
<merge xmlns:android="http://schemas.android.com/apk/res/android" >
<RelativeLayout
android:id="@+id/layout_header"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:background="@drawable/topbar"
android:paddingLeft="10dp"
android:paddingRight="10dp" >
<LinearLayout
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_centerVertical="true"
android:orientation="horizontal" >
<Button
android:id="@+id/btnPrevious"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:background="@drawable/previous" />
</LinearLayout>
<TextView
android:id="@+id/tv_headerText"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_centerInParent="true"
android:layout_gravity="center|center_vertical|fill_horizontal"
android:text="Home"
android:textColor="#FFFFFF"
android:textSize="20dp"
android:textStyle="bold" />
<Button
android:id="@+id/btnLogout"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentRight="true"
android:layout_centerVertical="true"
android:background="@drawable/logout" />
<ImageButton
android:id="@+id/imgSearch"
style="@style/Widget.Sherlock.ActionButton"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_toLeftOf="@+id/btnLogout"
android:src="@drawable/ic_search_inverse"
android:title="Search" />
<com.actionbarsherlock.widget.SearchView
android:id="@+id/searchView"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignTop="@+id/tv_headerText"
android:layout_marginTop="10dp"
android:layout_toLeftOf="@+id/imgSearch"
android:background="@drawable/ic_search_inverse"
android:visibility="gone" />
</RelativeLayout>
</merge>
<?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:background="@drawable/background"
android:orientation="vertical" >
<!-- header Part -->
<include layout="@layout/header" />
<!-- header Part is over. -->
<RelativeLayout
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:orientation="vertical"
android:padding="10dp" >
<TextView
android:id="@+id/textView"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_centerInParent="true"
android:text="None"
android:textColor="@color/black"
android:textSize="25dp"
android:textStyle="bold"
android:visibility="gone" />
<ListView
android:id="@+id/list"
android:layout_width="wrap_content"
android:layout_height="fill_parent"
android:layout_below="@+id/et_productSearch"
android:cacheColorHint="#00000000"
android:scrollbars="none" >
</ListView>
</RelativeLayout>
</LinearLayout>
已选择my选项:
@Override
public boolean onOptionsItemSelected(MenuItem item) {
switch (item.getItemId()) {
case R.id.action_search:
if (searchView.getVisibility() == View.VISIBLE) {
searchView.setIconified(true);
searchView.setVisibility(View.INVISIBLE);
} else {
//searchView.setMaxWidth(searchView,getWidth() - imgSearch.getWidth());
searchView.setVisibility(View.VISIBLE);
searchView.setIconified(false);
}
break;
}
return true;
}
该问题已在SO中得到回答:
看看。非常感谢您的快速回复。我已经按照上面的链接做了同样的操作。但是我有点困惑,单击imgSearch(图像搜索)后该怎么做??@AndroidLearner-也许你应该看看这里:似乎你并不真正了解SearchView的工作原理。请参阅我更新的问题,它为你提供了更清晰的图片,以便你可以向我推荐比链接更好的内容。我的问题很清楚,单击imageview时需要编写哪段代码/逻辑,以便获得可折叠操作栏searchview的效果。?
ImageView imgSearch;
SearchView searchView;
imgSearch=(ImageView)findViewById(R.id.imgSearch);
searchView = ((SearchView)findViewById(R.id.searchView));
searchView.setOnCloseListener(new SearchView.OnCloseListener() {
@Override
public boolean onClose() {
searchView.setVisibility(View.INVISIBLE);
return false;
}
});
@Override
public boolean onOptionsItemSelected(MenuItem item) {
switch (item.getItemId()) {
case R.id.action_search:
if (searchView.getVisibility() == View.VISIBLE) {
searchView.setIconified(true);
searchView.setVisibility(View.INVISIBLE);
} else {
//searchView.setMaxWidth(searchView,getWidth() - imgSearch.getWidth());
searchView.setVisibility(View.VISIBLE);
searchView.setIconified(false);
}
break;
}
return true;
}