【发布时间】:2016-06-07 19:12:35
【问题描述】:
我正在开发一个材料设计应用程序,我想实现一个ToolBar,它需要一个折叠的SearchView 和一个设置按钮。我已经成功实现了SearchView 和设置菜单项。但问题是我希望 SearchView 默认折叠。现在它只在图标点击时折叠。
代码:
@Override
public boolean onCreateOptionsMenu(Menu menu) {
// Inflate the menu; this adds items to the action bar if it is present.
getMenuInflater().inflate(R.menu.main, menu);
return true;
}
@Override
public boolean onOptionsItemSelected(MenuItem item) {
// Handle action bar item clicks here. The action bar will
// automatically handle clicks on the Home/Up button, so long
// as you specify a parent activity in AndroidManifest.xml.
int id = item.getItemId();
//noinspection SimplifiableIfStatement
if (id == R.id.action_settings) {
return true;
}
else if (id == R.id.action_search) {
final SearchView searchView = (SearchView) MenuItemCompat.getActionView(item);
SearchManager searchManager = (SearchManager) getSystemService(SEARCH_SERVICE);
searchView.setSearchableInfo(searchManager.getSearchableInfo(getComponentName()));
return true;
}
return super.onOptionsItemSelected(item);
}
main.xml:
<menu xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
tools:context="com.example.navigationdrawer.MainActivity" >
<item android:id="@+id/action_search"
android:title="Search"
android:icon="@drawable/abc_ic_search_api_mtrl_alpha"
app:showAsAction="always"
app:actionViewClass="android.support.v7.widget.SearchView" />
<item
android:id="@+id/action_settings"
android:title="@string/action_settings"
android:orderInCategory="100"
app:showAsAction="never" />
</menu>
【问题讨论】:
-
你能包含你的菜单xml文件吗?
-
@ianhanniballake 请查看更新后的问题
-
尝试使用“collapse”而不是“always”。
-
@Varundroid 你的意思是
app:showAsAction="collapseActionView"? -
是的,就是这样。成功了吗?
标签: android material-design searchview