代码改变世界

Android开发——Android搜索框架(一)

2010-09-13 17:10  HalZhang  阅读(34003)  评论(4编辑  收藏  举报

Android是google的产品,所以自然是少不了搜索。先看看Android一些应用中的搜索对话框。

s1 图1 Android中的全局搜索

s2 图2 联系人搜索

s3 图3 音乐搜索

以上都是通过按下实体键盘上的搜索按钮弹出的一个搜索对话框,当然搜索关键词提示是少不了的。如何实现呢?慢慢来!呵呵。

一、配置搜索描述文件

在res中的xml文件加创建sreachable.xml,内容如下:

   1: <searchable xmlns:android="http://schemas.android.com/apk/res/android"
   2:         android:label="@string/search_label"
   3:         android:hint="@string/search_hint"
   4:         android:searchSettingsDescription="@string/settings_description">
   5: </searchable>

二、创建SearchableMusicActivity.java

至少需要实现onCreate方法显示出来吧。

三、配置AndroidManifest.xml

   1: <?xml version="1.0" encoding="utf-8"?>
   2: <manifest xmlns:android="http://schemas.android.com/apk/res/android"
   3:     package="com.halzhang.android.search" android:versionCode="1"
   4:     android:versionName="1.0">
   5:     <application android:icon="@drawable/icon" android:label="@string/app_name">
   6:         <activity android:name=".SearchableMusicActivity"
   7:             android:label="@string/app_name" android:theme="@android:style/Theme.NoTitleBar">
   8:             <intent-filter>
   9:                 <action android:name="android.intent.action.MAIN" />
  10:                 <category android:name="android.intent.category.LAUNCHER" />
  11:             </intent-filter>
  12:             <intent-filter>
  13:             <!-- 配置action -->
  14:                 <action android:name="android.intent.action.SEARCH" />
  15:             </intent-filter>
  16:             <!-- 指定搜索的配置文件 -->
  17:             <meta-data android:name="android.app.searchable"
  18:                 android:resource="@xml/searchable" />
  19:         </activity>
  20:         <meta-data android:name="android.app.default_searchable"
  21:             android:value=".SearchableMusicActivity" />

通过以上三步就能实现搜索对话框了。device

接下来会讲到搜索关键字提示,先到这里。

-----------------EOF-------------------