您的位置:首页 > 移动开发 > Android开发

Android搜索控件SearchView的用法

2014-01-07 13:39 357 查看
最近看Android 4.0 mms,contact源码,发现其中搜索都是SearchView控件,下面自己试着写一个

效果


1.在res/menu/文件夹下建立menu.xml 配置文件

<menu

xmlns:android="http://schemas.android.com/apk/res/android">

<item android:id="@+id/search" android:title="@string/search"

android:icon="@drawable/search_app_icon"

android:showAsAction="ifRoom|withText" //在actionBar显示,

android:actionViewClass="android.widget.SearchView"



></item>

</menu>

2.新建一个activity,并为该activity添加菜单项,CreateOptionSMenu代码

@Override

public boolean onCreateOptionsMenu(Menu menu) {

// TODO Auto-generated method stub

mi.inflate(R.menu.my_menu, menu);

MenuItem search=menu.findItem(R.id.search);

search.collapseActionView();

SearchView searchview=(SearchView) search.getActionView();

searchview.setIconifiedByDefault(false);

SearchManager mSearchManager=(SearchManager)getSystemService(Context.SEARCH_SERVICE);

SearchableInfo info=mSearchManager.getSearchableInfo(getComponentName());

searchview.setSearchableInfo(info); //需要在Xml文件加下建立searchable.xml,搜索框配置文件

return true;

}

3.在xml文件夹下简历searchable.xml

<searchable xmlns:android="http://schemas.android.com/apk/res/android"

android:label="@string/app_name"

android:hint="@string/search_title"



android:searchSettingsDescription="@string/search_title"

android:searchSuggestAuthority="com.digua.fncontact.familyName"

android:searchSuggestIntentAction="android.intent.action.VIEW"

android:searchSuggestIntentData="content://com.digua.fncontact.familyName/fname"

android:searchSuggestSelection=" ?"

android:searchSuggestThreshold="1"

android:inputType="text"

android:voiceSearchMode="showVoiceSearchButton|launchRecognizer"

android:searchMode="queryRewriteFromText"

android:includeInGlobalSearch="true"

android:queryAfterZeroResults="true"

>

</searchable>

具体serachable属性请看上一篇转载博客,

http://blog.csdn.net/androidchuxueze/article/details/7590732

示例下载
http://download.csdn.net/detail/androidchuxueze/5005369
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: