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;
}
在我的应用程序中,我有一个应用栏,如下图所示
(来源: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;
}