Android: 在应用栏中实现搜索

Android: implement search in appbar

在我的应用程序中,我有一个应用栏,如下图所示


(来源:jayway.com

在应用栏的左侧我有一个 TextView,在右侧有一个 SearchView 和一个菜单。

如何实现搜索操作?

当按下搜索图标时,我希望搜索视图扩展到应用栏的整个宽度并隐藏左侧的 TextView。 像 Youtube 或 Gmail 应用程序。

请帮帮我。谢谢。

项目(添加到res/menu/menu.xml):

    <menu>
<!-- ... ->    
  <item android:id="@+id/action_search"
              android:title="@string/search_title"
              android:icon="@drawable/ic_search"
              android:showAsAction="collapseActionView|ifRoom"
              android:actionViewClass="android.widget.SearchView" />
    </menu>

别忘了覆盖

  @Override
    public boolean onCreateOptionsMenu(Menu menu) {
        getMenuInflater().inflate(R.menu.main, menu);
        MenuItem menuItemSearch = menu.findItem(R.id.action_search);
        SearchView searchView = (SearchView) 
        MenuItemCompat.getActionView(menuItemSearch);
        return true;
    }