我有一个包含SearchView和ListView的List活动。我希望SearchView与google maps android app中的内容类似。
目前我在activity_main.xml中的SearchView代码是
<SearchView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:queryHint="Search restaurants"
android:iconifiedByDefault="false"
android:id="@+id/searchView" />
有人可以指导我如何获得上面的自定义SearchView。
答案 0 :(得分:2)
您可以在布局中添加AppCompat Library android.support.v7.widget.Toolbar
。它就像一个可以放在任何地方的自定义ActionBar。然后,您可以添加菜单切换,以及可以折叠/展开的android.support.v7.widget.SearchView
。最后,从menu.xml
添加一些操作。
将自定义工具栏设置为ActionBar替换:
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.blah);
Toolbar toolbar = (Toolbar) findViewById(R.id.my_awesome_toolbar);
setSupportActionBar(toolbar);
}
答案 1 :(得分:0)
您必须使用图标和EditText创建布局。像这样:
<RelativeLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="@dimen/abc_action_bar_default_height"
>
<ImageButton
android:id="@+id/btnGoToMap"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentLeft="true"
android:padding="18dp"
android:background="@android:color/transparent"
android:src="@drawable/btn_go_to_map_selector"
android:contentDescription="@string/contentDescription"
/>
<ImageButton
android:id="@+id/btnCleanSearch"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentRight="true"
android:paddingTop="18dp"
android:paddingLeft="18dp"
android:paddingBottom="18dp"
android:paddingRight="27.5dp"
android:background="@android:color/transparent"
android:src="@drawable/btn_clean_search_selector"
android:contentDescription="@string/contentDescription"
/>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="horizontal"
android:layout_alignParentTop="true"
android:layout_centerHorizontal="true"
android:layout_marginLeft="60dp"
android:layout_marginRight="60dp"
>
<ImageButton
android:id="@+id/btnShowSearch"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginRight="5dp"
android:layout_gravity="center_vertical"
android:background="@android:color/transparent"
android:src="@drawable/btn_show_search_field_selector"
android:contentDescription="@string/contentDescription"
/>
<EditText
android:id="@+id/fldSearchPhrase"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_gravity="center_vertical"
android:inputType="text"
android:singleLine="true"
android:textSize="20sp"
android:textColor="@android:color/black"
>
<requestFocus/>
</EditText>
</LinearLayout>
</RelativeLayout>
它也更灵活,允许您管理布局的各个部分。