如何在Android中的searchinput字段旁边添加下拉列表?

在HTC Desire(Froyo)的全系统search中,我在searchinput框中看到了一些下拉菜单,允许select要search的位置(所有,网页,应用程序)。

我如何在我的应用程序中实现这一点? Google开发者网站上的search教程没有解决这个问题。

所以在Android文档中,像下面这样的场景,

我想点击书籍,然后得到某种菜单,例如select“词”,“标题”作为search模式。

更新 :我不是在寻找QuickAction对话框本身,而是如何附加东西到触摸书籍图标,以便我可以附加QuickAction或新的活动或…我想使用标准的Androidsearch对话框,如http://developer.android.com/guide/topics/search/search-dialog.html中所述

Solutions Collecting From Web of "如何在Android中的searchinput字段旁边添加下拉列表?"

您不能修改系统的search对话框。 因此,如果您想要在用户触摸图标时显示下拉菜单等自定义设置,则必须实现自己的对话框。 这将使您的search不标准,所以我不会build议。

不过,如果我不能说出来,你可以看到Android的内置search对话框是如何实现的:

在Android 3.x中,通过引入SearchView类,这变得更容易一些。

这只是一个自定义视图,当你用一个奇特的animation点击该button时得到渲染。

这与search框架本身无关。 你只需要显示一个自定义的布局(如果你愿意的话可以用一个奇特的animation),并通过点击其中一个图标来设置一个值。 而已。

我认为你所寻找的是一个“快速对话”。

这里有一个教程 ,应该让你顺利。

更新问题提出者(评论贴):

我明白了 以及不知何故,你需要图标的ID来实现onclicklistener()。 你可能会停留在一个search小部件,最重要的是从头开始。 或者,也许,随着search对话框的实施和运行,使用hierarchyviewer来查看图标是否有一个ID。 也许你会好运,它会有一个独特的。 我现在没有想法。

这些选项(及其图标)由Android设置中的可search项列表(设置 – >search – >可search项至less在我的手机中)确定。 如果你想添加一个search动作到该菜单,看看这个:

http://developer.android.com/guide/topics/search/adding-custom-suggestions.html#QSB

在设备上启用build议

当您的应用程序被configuration为在快速search框中提供build议时,默认情况下,它实际上并未启用在快速search框中提供build议。 是否在快速search框中包含应用程序的build议是用户的select。 要从您的应用程序中启用searchbuild议,用户必须打开“可search项目”(在设置>search中),并启用您的应用程序作为可search项目。

快速search框可用的每个应用程序在可search项目设置页面中都有一个条目。 该条目包括应用程序的名称以及从应用程序中search哪些内容的简短描述,并可用于快速search框中的build议。 要为可search的应用程序定义说明文本,请将android:searchSettingsDescription属性添加到可search的configuration中。 例如:

http://developer.android.com/guide/topics/search/searchable-config.html

快速search框属性

要使您的自定义searchbuild议可用于快速search框,您需要以下一些属性:

android:includeInGlobalSearch布尔值。 (需要在快速search框中提供searchbuild议。)如果您希望将您的build议包含在全球可访问的快速search框中,请设置为“true”。 在您的build议将显示在快速search框中之前,用户仍然必须在系统search设置中将您的应用程序作为可search项目启用。 android:searchSettingsDescriptionstring。 提供您提供给快速search框的searchbuild议的简要说明,快速search框显示在应用程序的可search项目条目中。 您的描述应该简洁地描述可search的内容。 例如,音乐应用程序的“艺术家,专辑和曲目”,或记事本应用程序的“已保存的音符”。 android:queryAfterZeroResults布尔值。 如果希望为过去返回零结果的查询的超集调用内容提供程序,请设置为“true”。 例如,如果您的内容提供商为“bo”返回零结果,则应该要求“bob”。 如果设置为“false”,超级会话会被忽略一个会话(“bob”不会调用一个请求)。 这只会持续search对话框的使用寿命或使用search窗口小部件时的活动寿命(当search对话框或活动重新打开时,“bo”会再次查询您的内容提供者)。 默认值是false。

因此,如果您想要添加一个选项来search单词或标题,并且您有一个允许search的活动,则可以将该可search项目添加到列表中。 但是,只有在用户需要时才能使用。