如何在android中实现像gmail app这样的搜索栏?

时间:2015-03-19 15:53:24

标签: android android-layout uisearchbar material-design android-search

我正在尝试在我的Android应用中实现搜索功能,类似于最新的gmail应用(操作栏中的搜索图标)。

enter image description here

点击“搜索”图标后,操作栏将变为搜索字段,左侧有后退按钮,右侧有麦克风按钮。我想在我的应用程序中使用相同的组件。

是否有任何图书馆或教程?

这是否可以在非棒棒糖版本中支持这种类型的材料设计搜索。 ?

3 个答案:

答案 0 :(得分:12)

我不知道棒棒糖版本,但如果您想要这样的搜索,可以将此“main_activity_actions”添加到您的操作栏:

<?xml version="1.0" encoding="utf-8"?>
<menu xmlns:android="http://schemas.android.com/apk/res/android"
      xmlns:yourapp="http://schemas.android.com/apk/res-auto" >
    <item android:id="@+id/action_search"
          android:title="@string/action_search"
          android:icon="@drawable/ic_action_search"
          yourapp:showAsAction="ifRoom|collapseActionView"
          yourapp:actionViewClass="android.support.v7.widget.SearchView" />
</menu>

并在java中覆盖它:

@Override
public boolean onCreateOptionsMenu(Menu menu) {
    getMenuInflater().inflate(R.menu.main_activity_actions, menu);
    MenuItem searchItem = menu.findItem(R.id.action_search);
    SearchView searchView = (SearchView) MenuItemCompat.getActionView(searchItem);
    // Configure the search info and add any event listeners
    ...
    return super.onCreateOptionsMenu(menu);
}

更多信息here,是字典的一部分,但是同样的想法,请参阅你!

答案 1 :(得分:8)

这个库要做到这一点,唯一不做的就是涟漪,但我希望你能用其他资源很容易地实现它们:

https://github.com/Quinny898/PersistentSearch

这里是完成工作的形象。

enter image description here

答案 2 :(得分:0)

Google提供了两种开箱即用的API,称为搜索对话框和搜索视图。您可以使用一个或另一个 - 或两者 - 来实现所需的行为。它已经为你提供了很多你想要的东西。以下链接有一个教程:http://developer.android.com/guide/topics/search/search-dialog.html