我目前在Play商店上有一个应用程序,适用于运行Android 3.0+的平板电脑和智能手机(http://tinyurl.com/cnejnjs)。为了吸引更多用户,我正在考虑让该应用程序在更广泛的设备上运行。
我知道ActionBar Sherlock,它似乎可以做到我想要的几乎所有功能。它没有提供搜索小部件,而我在当前应用程序中使用了它。
是否有办法在操作栏中添加搜索框,并以类似默认搜索小部件的方式更新屏幕上的当前列表片段?
我目前在Play商店上有一个应用程序,适用于运行Android 3.0+的平板电脑和智能手机(http://tinyurl.com/cnejnjs)。为了吸引更多用户,我正在考虑让该应用程序在更广泛的设备上运行。
我知道ActionBar Sherlock,它似乎可以做到我想要的几乎所有功能。它没有提供搜索小部件,而我在当前应用程序中使用了它。
是否有办法在操作栏中添加搜索框,并以类似默认搜索小部件的方式更新屏幕上的当前列表片段?
搜索小部件只是一个简单的可展开操作项。您可以使用EditText
作为展开布局来轻松创建自己的小部件。您可以在功能演示中的“可折叠操作项”示例中看到这一点(虽然它只是一个非常基本的示例)。
您还可以使用兼容性库中从Honeycomb及以上版本内置的小部件:
Context context = getSupportActionBar().getThemedContext();
View searchView = SearchViewCompat.newSearchView(context);
if (searchView != null) {
//Use native implementation
} else {
//Use simple compatibility implementation
}
支持99%兼容性的实现也在路线图上。
findViewById
方法,或者在菜单 XML 中指定布局,然后调用getActionView().findViewById(...)
方法来获取视图元素。 - Jake Wharton