`
h416756139
  • 浏览: 365754 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

简单使用Android Search Dialog

阅读更多

开发中为用户提供搜索功能很常见。大家可能最担心的是怎么在应用中展示搜索框,其实如果利用Android提供的搜索机制,搜索框就会自动显示在屏幕的上方,而且带有应用的icon。这里实现了一个最简单的,效果如下:

image

点击“我要搜索”,出现如下界面:

image

说一下具体的实现方法。首先需要在res下创建文件夹xml,然后在res/xml下创建searchable.xml :

<?xml version="1.0" encoding="utf-8"?> 
<searchable xmlns:android="http://schemas.android.com/apk/res/android" 
    android:label="@string/app_label" > 
</searchable>

这是searchable.xml 的最简化的配置,通常android:label的值和应用名称一样,更多属性配置这里不谈。

第二步,创建处理搜索的Activity,配置AndroidMainfast.xml:

<activity android:name=".MySearchActivity" android:label="@string/app_name"> 
    <intent-filter> 
        <action android:name="android.intent.action.MAIN" /> 
        <category android:name="android.intent.category.LAUNCHER" /> 
           <action android:name="android.intent.action.SEARCH" /> 
    </intent-filter> 
   <meta-data android:name="android.app.searchable" 
        android:resource="@xml/searchable" /> 
</activity>

其中,红色部分是实现搜索所必须要的配置。android:name的值必须填写"android.app.searchable”,android:resource的值就是res的xml文件夹下的searchable.xml 文件名。

最后是搜索功能的调用机制,就是如何打开搜索框:

public void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.main); 
    Button button = (Button) findViewById(R.id.mybutton); 
    button.setOnClickListener(new OnClickListener() {

        @Override 
        public void onClick(View v) { 
            // TODO Auto-generated method stub

            onSearchRequested(); 
            Intent intent = getIntent();                
            if (Intent.ACTION_SEARCH.equals(intent.getAction())) { 
                String query = intent.getStringExtra(SearchManager.QUERY); 
                //得到输入要搜索的内容,然后进行分析展示 
                Log.v("name>>>", "—–" + query); 
            }

        } 
    }); 
}

这里为按钮添加监听机制,在点击按钮时弹出搜索框。onSearchRequested();的作用是是引发弹出搜索框。SearchManager.QUERY得到用户输入的内容。其他代码很简单,不做过多解释。

这里还要说明一点,调用Android的搜索框,不会对当前的Activity生命周期有任何影响,它只是让Activity的焦点转到了搜索框中,其他没有任何变化。转自:http://bigcat.easymorse.com/?p=655

分享到:
评论

相关推荐

    Android编程经典代码集锦(复制,粘贴,浏览器调用,Toast显示,自定义Dialog等)

    在Android编程中,开发者经常会遇到各种实用的代码片段,这些代码可以帮助我们更高效地完成日常任务。以下是一些Android编程的经典代码集锦,涵盖了复制、粘贴、浏览器调用、Toast显示以及自定义Dialog等功能。 1. ...

    (国内某大型集团的内部资料)Android编程指南 程序员入门(中文版)

    ”程序,让读者了解如何构建简单的Android应用程序,涵盖了项目创建、布局设计、代码编写等基本步骤。 #### 3. 第七章:使用Intents和电话拨号盘 本章介绍了如何使用Android中的Intent机制来启动其他应用或组件,...

    Android高级编程--源代码

    作为使用androidsdk构建这些应用程序的实用指南书籍,《android高级编程》从始至终穿插了一系列示例项目,每个项目都引入android的新功能和新技术,以助您达到最圆满的学习效果。书中介绍android的所有基本功能,并...

    建立AndRoid开发环境

    选择`Run &gt; Open Run Dialog`或`Run &gt; Open Debug Dialog`。 2. 选择`Android Application`,点击`New`。 3. 输入配置名称。 4. 选择应用的主活动作为启动界面。 5. 点击`Apply`保存配置,点击`Run`或`Debug`...

    PopupWindow实现筛选框

    在Android开发中,`PopupWindow`是一个非常实用的组件,常用于实现各种临时弹出窗口的效果,如下拉菜单、筛选框等。本篇文章将详细讲解如何利用`PopupWindow`来实现一个筛选框功能。 首先,`PopupWindow`是Android ...

    Android编程指南+程序员入门(中文版)

    - **打开运行对话框**:选择`Run &gt; Open Run Dialog`或`Run &gt; Open Debug Dialog`。 - **配置运行环境**: 1. 在左侧列表中右键点击`Android Application`,选择`New`。 2. 输入配置名称。 3. 在`Android`标签页...

    android API-DEMOS中文解析文档

    对于希望深入学习Android开发技术的开发者而言,这份解析文档具有极高的参考价值和实用意义。通过阅读和实践这些示例,开发者不仅可以获得理论知识,还能积累实际经验,从而在实际项目中更加得心应手。

    Android_api_demo

    ### Android API Demo 知识点概述 #### 一、概览 本文档旨在全面解析 Android API Demo 中的各种案例,通过具体实例深入理解 Android 开发中的关键技术和应用实践。该文档覆盖了从简单的用户界面设计到复杂的后台...

    Android实现简单的popupwindow提示框

    在Android开发中,`PopupWindow`是一个非常实用的组件,它可以用来创建自定义的弹出式视图,相比传统的`Dialog`,它提供了更大的灵活性和定制性。在标题提到的"Android实现简单的popupwindow提示框"中,我们将讨论...

    PopupWindow仿微信浮层弹出框效果

    在Android开发中,`PopupWindow` 是一个非常实用的组件,它可以用来创建浮动窗口,通常用于实现各种弹出式菜单、对话框等效果。在本例中,我们看到如何使用 `PopupWindow` 来实现一个类似微信浮层弹出框的效果。 ...

Global site tag (gtag.js) - Google Analytics