Android搜索框架
来源:互联网 发布:恩比德 知乎 编辑:程序博客网 时间:2024/06/05 01:03
Android是google的产品,所以自然是少不了搜索。先看看Android一些应用中的搜索对话框。
图1 Android中的全局搜索
图2 联系人搜索
图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" />
1.创建搜索建议提供者
Android已经为我们创建了一个默认的,我们只需要继承 SearchRecentSuggestionProvider 就稍做修改就可以了。
见代码:
1: import android.content.SearchRecentSuggestionsProvider;
2:
3: /**4: * 搜索提示5: *6: * @author Hanguo7: * http://t.sina.com.cn/halzhang8: * @version 2011-1-5上午11:51:399: */10: public class SearchSuggestionsProvider extends SearchRecentSuggestionsProvider {11: //记住这个哦12: public final static String AUTHORITY = "searchprovider";13:
14: public final static int MODE = DATABASE_MODE_QUERIES;15:
16: public SearchSuggestionsProvider() {17: setupSuggestions(AUTHORITY, MODE);
18: }
19: }
2.配置searchable.xml
1: <?xml version="1.0" encoding="utf-8"?>2: <searchable xmlns:android="http://schemas.android.com/apk/res/android"3: android:label="@string/search_label"4: android:hint="@string/search_hint"5: android:searchSettingsDescription="@string/search_settings_description"6: android:searchSuggestAuthority="searchprovider"7: android:searchSuggestIntentAction="android.intent.action.SEARCH"8: android:searchSuggestThreshold="1"9: android:includeInGlobalSearch="true"10: android:searchSuggestSelection=" ?"11: >12: </searchable>参数说明:android:searchSuggestAuthorith此属性的值就是SearchSuggestAuthorith中的AUTHORITH了。android:searchSuggestIntentAction此属性定义了当我们选中搜索提示的内容时发生的目的动作。android:searchSuggestThreshold此属性定义了至少输入几个字符时才会弹出提示android:includeInGlobalSearch是否将内容加入android的全局搜索。true,加入。android:searchSuggestSelection定义搜索时参数的占位符PS:配置参数不止这些,可以自己看看android的参考手册。3.配置AndroidManifest.xml1: <provider android:name=".SearchSuggestionsProvider" android:authorities="searchprovider" />
0 0
- Android之搜索框架
- Android基础搜索框架
- Android搜索框架
- android的搜索框架
- Android搜索框架
- Android开发——Android搜索框架
- Android开发——Android搜索框架
- android之如何使用Android的搜索框架
- Android开发带搜索26字母的列表框架
- 垂直搜索技术框架
- Lucence全文搜索框架
- Lucence全文搜索框架
- Lucene全文搜索框架
- Lucence全文搜索框架
- 分布式搜索框架SF1R
- 搜索框架信息
- Fundation快速框架搜索
- CI框架搜索分页
- Caffe 深度学习框架
- ofbiz_web设置
- js学习笔记:this
- Linked Lists Part1-Singly Linked Lists
- leetcode 292. Nim Game
- Android搜索框架
- 【JAVA学习】——Java虚拟机
- 算法提高 一元一次方程
- 100道动态规划——21 HDU 1559 最大子矩阵和 树状数组 最大连续子区间和
- HDU 1435 Stable Match(稳定婚姻问题)
- [Leetcode] Find All Duplicates in an Array
- C++重要知识点
- 半文不白的语言
- Unity 单例模式总结