Google搜索框的配置

推荐安卓开发神器(里面有各种UI特效和android代码库实例)

1.声明处理搜索的Activity

<meta-data android:name="android.app.default_searchable" android:value=".OnSearchAppsList" />


2.Activity定义

<activity android:name=".OnSearchAppsList"

android:configChanges="orientation|keyboardHidden|navigation"

android:label="@string/Market">

<intent-filter>

<action android:name="android.intent.action.SEARCH" />

<category android:name="android.intent.category.DEFAULT" />

</intent-filter>

<meta-data android:name="android.app.searchable" android:resource="@xml/searchable" />

</activity>


3.searchable.xml定义

<?xml version="1.0" encoding="utf-8"?>

<searchable xmlns:android="http://schemas.android.com/apk/res/android"
// 必须在资源文件中声明
android:label="@string/search_label"
android:hint="@string/search_hint" />



4.调用 Search功能

onSearchRequested();



5.可重写onSearchRequested()函数,为搜索框填充初值

@Override
public boolean onSearchRequested() {
  startSearch(mStrSearchIndex, false, null, false);
}



5.截获 参数

getIntent().getStringExtra(SearchManager.QUERY);



这后即可以随意处理搜索请求了.

如果需要回到之前页面,可在AndroidManifest.xml 的当前Activity中配置属性

android:launchMode="singleTask"



并在程序中重写 NewIntent() 函数,通过

@Override
protected void onNewIntent(Intent intent) {
    super.onNewIntent(intent);
    String temptest = intent.getStringExtra(SearchManager.QUERY);
}


获取到搜索框里的值。

附件是别人做的一个例子程序。

 

你可能感兴趣的:(java,android,xml,Google)