开发中为用户提供搜索功能很常见。大家可能最担心的是怎么在应用中展示搜索框,其实如果利用Android提供的搜索机制,搜索框就会自动显示在屏幕的上方,而且带有应用的icon。这里实现了一个最简单的,效果如下:
点击“我要搜索”,出现如下界面:
说一下具体的实现方法。首先需要在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编程中,开发者经常会遇到各种实用的代码片段,这些代码可以帮助我们更高效地完成日常任务。以下是一些Android编程的经典代码集锦,涵盖了复制、粘贴、浏览器调用、Toast显示以及自定义Dialog等功能。 1. ...
”程序,让读者了解如何构建简单的Android应用程序,涵盖了项目创建、布局设计、代码编写等基本步骤。 #### 3. 第七章:使用Intents和电话拨号盘 本章介绍了如何使用Android中的Intent机制来启动其他应用或组件,...
作为使用androidsdk构建这些应用程序的实用指南书籍,《android高级编程》从始至终穿插了一系列示例项目,每个项目都引入android的新功能和新技术,以助您达到最圆满的学习效果。书中介绍android的所有基本功能,并...
选择`Run > Open Run Dialog`或`Run > Open Debug Dialog`。 2. 选择`Android Application`,点击`New`。 3. 输入配置名称。 4. 选择应用的主活动作为启动界面。 5. 点击`Apply`保存配置,点击`Run`或`Debug`...
在Android开发中,`PopupWindow`是一个非常实用的组件,常用于实现各种临时弹出窗口的效果,如下拉菜单、筛选框等。本篇文章将详细讲解如何利用`PopupWindow`来实现一个筛选框功能。 首先,`PopupWindow`是Android ...
- **打开运行对话框**:选择`Run > Open Run Dialog`或`Run > Open Debug Dialog`。 - **配置运行环境**: 1. 在左侧列表中右键点击`Android Application`,选择`New`。 2. 输入配置名称。 3. 在`Android`标签页...
对于希望深入学习Android开发技术的开发者而言,这份解析文档具有极高的参考价值和实用意义。通过阅读和实践这些示例,开发者不仅可以获得理论知识,还能积累实际经验,从而在实际项目中更加得心应手。
### Android API Demo 知识点概述 #### 一、概览 本文档旨在全面解析 Android API Demo 中的各种案例,通过具体实例深入理解 Android 开发中的关键技术和应用实践。该文档覆盖了从简单的用户界面设计到复杂的后台...
在Android开发中,`PopupWindow`是一个非常实用的组件,它可以用来创建自定义的弹出式视图,相比传统的`Dialog`,它提供了更大的灵活性和定制性。在标题提到的"Android实现简单的popupwindow提示框"中,我们将讨论...
在Android开发中,`PopupWindow` 是一个非常实用的组件,它可以用来创建浮动窗口,通常用于实现各种弹出式菜单、对话框等效果。在本例中,我们看到如何使用 `PopupWindow` 来实现一个类似微信浮层弹出框的效果。 ...