Android搜索控件SearchView的用法

最近看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

时间: 2024-12-22 20:56:58

Android搜索控件SearchView的用法的相关文章

Android UI控件ExpandableListView基本用法详解_Android

ExpandableListView介绍  ExpandableListView的引入  ExpandableListView可以显示一个视图垂直滚动显示两级列表中的条目,这不同于列表视图(ListView).ExpandableListView允许有两个层次:一级列表中有二级列表.  比如在手机设置中,对于分类,有很好的效果.手机版QQ也是这样的效果.   使用ExpandableListView的整体思路  (1)给ExpandableListView设置适配器,那么必须先设置数据源.  (

Android UI控件ExpandableListView基本用法详解

ExpandableListView介绍 ExpandableListView的引入 ExpandableListView可以显示一个视图垂直滚动显示两级列表中的条目,这不同于列表视图(ListView).ExpandableListView允许有两个层次:一级列表中有二级列表.  比如在手机设置中,对于分类,有很好的效果.手机版QQ也是这样的效果. 使用ExpandableListView的整体思路 (1)给ExpandableListView设置适配器,那么必须先设置数据源. (2)数据源,

Android控件之ImageView用法实例分析_Android

本文实例讲述了Android控件之ImageView用法.分享给大家供大家参考.具体如下: ImageView控件是一个图片控件,负责显示图片. 以下模拟手机图片查看器 目录结构: main.xml布局文件: <?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"

《Android 平板电脑开发实战详解和典型案例》——2.1节搜索框控件—— SearchView

2.1 搜索框控件-- SearchView Android 平板电脑开发实战详解和典型案例 本节将介绍Android 3.0新增控件--搜索框控件SearchView,主要内容包括搜索框控件SearchView的基本知识以及一个简单的案例. 提示 本书中的案例都是在540×960分辨率的真机上调试通过的,若执行本书中案例的设备分辨率不是540×960,可能会有显示不正常的情况.但大部分案例都是没有问题的,尤其是最后第14.第15.第16章的大案例都是自适应于各种屏幕分辨率的. 2.1.1 搜索

Android编程布局控件之AbsoluteLayout用法实例分析_Android

本文实例讲述了Android编程布局控件之AbsoluteLayout用法.分享给大家供大家参考,具体如下: AbsoluteLayout是绝对布局管理器,指的是指定组件的左上角绝对坐标来指定组件的布局 <?xml version="1.0" encoding="utf-8"?> <AbsoluteLayout xmlns:android="http://schemas.android.com/apk/res/android"

Android控件之Gallery用法实例分析_Android

本文实例讲述了Android控件之Gallery用法.分享给大家供大家参考.具体如下: Gallery组件主要用于横向显示图像列表,不过按常规做法.Gallery组件只能有限地显示指定的图像.也就是说,如果为Gallery组件指定了10张图像,那么当Gallery组件显示到第10张时,就不会再继续显示了.这虽然在大多数时候没有什么关系,但在某些情况下,我们希望图像显示到最后一张时再重第1张开始显示,也就是循环显示.要实现这种风格的Gallery组件,就需要对Gallery的Adapter对象进行

Android Service控件用法实例分析_Android

本文实例讲述了Android Service控件用法.分享给大家供大家参考,具体如下: 1.Service是一个应用程序的组件 2.Service没有图形化界面 3.用来处理耗时比较长的功能(下载.播放MP3) 4.更新ContentProvider.Intent以及系统的启动 Servcie不是一个单独的进程,不是一个线程 定义一个Service比较简单,只要继承Service类,实现其生命周期的方法即可.一个定义好的Service必须在AndroidManifest.xml文件中通过<ser

Android控件之ListView用法实例详解_Android

本文实例讲述了Android控件之ListView用法.分享给大家供大家参考.具体如下: 示例一: 在android开发中ListView是比较常用的组件,它以列表的形式展示具体内容,并且能够根据数据的长度自适应显示. main.xml布局文件: <?xml version="1.0" encoding="utf-8"?> <LinearLayout android:id="@+id/LinearLayout01" androi

Android AutoCompleteTextView控件基本用法示例_Android

本文实例讲述了Android AutoCompleteTextView控件基本用法.分享给大家供大家参考,具体如下: 当输入部分内容之后会有相关的建议,类似于百度提示信息 1.在布局文件中声明一个AutoCompleteTextView <AutoCompleteTextView android:id="@+id/autocomplete_country" android:layout_width="fill_parent" android:layout_he