安卓:ActionBarSherlock 搜索小部件

7

我目前在Play商店上有一个应用程序,适用于运行Android 3.0+的平板电脑和智能手机(http://tinyurl.com/cnejnjs)。为了吸引更多用户,我正在考虑让该应用程序在更广泛的设备上运行。

我知道ActionBar Sherlock,它似乎可以做到我想要的几乎所有功能。它没有提供搜索小部件,而我在当前应用程序中使用了它。

是否有办法在操作栏中添加搜索框,并以类似默认搜索小部件的方式更新屏幕上的当前列表片段?

1个回答

19

搜索小部件只是一个简单的可展开操作项。您可以使用EditText作为展开布局来轻松创建自己的小部件。您可以在功能演示中的“可折叠操作项”示例中看到这一点(虽然它只是一个非常基本的示例)。

您还可以使用兼容性库中从Honeycomb及以上版本内置的小部件:

Context context = getSupportActionBar().getThemedContext();
View searchView = SearchViewCompat.newSearchView(context);
if (searchView != null) {
    //Use native implementation
} else {
    //Use simple compatibility implementation
}

支持99%兼容性的实现也在路线图上。


1
我尝试了可折叠操作项演示,但我不知道如何获取EditText的引用。 - petrnohejl
5
你可以通过在代码中扩展布局并调用 findViewById 方法,或者在菜单 XML 中指定布局,然后调用 getActionView().findViewById(...) 方法来获取视图元素。 - Jake Wharton
1
如何添加监听器?我无法将View强制转换为SearchViewCompat。 - ruX
@jake:我该如何在菜单XML中“指定布局”? - android developer

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接