1. 在res/xml下面新建 searchable.xml
下面是一个简单的配置:(复杂的配置网上百度)
<?xml version="1.0" encoding="utf-8"?>
<searchable xmlns:android="http://schemas.android.com/apk/res/android"
android:label="@string/app_name"
android:hint="@string/test" >
</searchable>
2. 要调出系统的那个 浮动的搜索,直接调用 activity 的 onSearchRequested();将会出现 浮动搜索框
前提条件是 必须在 这个activity的 AndroidManifest.xml 的里面 配置加上:
<meta-data
android:name="android.app.default_searchable"
android:value=".SearchableActivity" />
其中 android:value=".SearchableActivity" 这个是我们自定义的, 指向的是搜索结果的 activity
3. 要显示出搜索结果的activity,必须要拿到 搜索条件(即用户的输入)
// Get the intent, verify the action and get the query
Intent intent = getIntent();
if (Intent.ACTION_SEARCH.equals(intent.getAction()))
{
query = intent.getStringExtra(SearchManager.QUERY);
// doMySearch(query); 这个是我们自己的方法
}
前提条件是: 在 这个显示结果的activity的配置中,需要加上:
<intent-filter >
<action android:name="android.intent.action.SEARCH" />
</intent-filter>
<meta-data
android:name="android.app.searchable"
android:resource="@xml/searchable" />
注意: android:resource="@xml/searchable" 这个就是我们最开始我们自己建立的 xml 名字最好不变