【发布时间】:2016-12-20 17:26:17
【问题描述】:
我在 android 工具栏中的 searchview 实现有问题。
- 空白空间填充太大。
- 我不想隐藏其他操作,但这些操作是 与 SearchView 重叠。
- SearchView 的下划线不可见
如何解决上述问题?
menu.xml
<?xml version="1.0" encoding="utf-8"?>
<menu xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto">
<item
android:id="@+id/action_search"
android:title="@string/car_num"
android:icon="@drawable/ic_search_white_24dp"
app:actionViewClass="android.support.v7.widget.SearchView"
app:showAsAction="always" />
<item
android:id="@+id/action_add_client"
android:icon="@drawable/ic_account_multiple_plus"
android:title="@string/action_add_client"
app:showAsAction="always" />
</menu>
片段
@Override
public void onCreateOptionsMenu(final Menu menu, MenuInflater inflater) {
inflater.inflate(R.menu.menu_fragment_reg_vehicles, menu);
final MenuItem item = menu.findItem(R.id.action_search);
searchView = (SearchView) MenuItemCompat.getActionView(item);
searchView.setQueryHint("Search");
searchView.setMaxWidth(Integer.MAX_VALUE);
searchView.setIconifiedByDefault(false);
searchView.setOnQueryTextListener(this);
searchView.setOnCloseListener(new SearchView.OnCloseListener() {
@Override
public boolean onClose() {
setItemsVisibility(menu, item, true);
return false;
}
});
searchView.setOnSearchClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
setItemsVisibility(menu, item, false);
searchView.requestFocus();
}
});
}
【问题讨论】:
-
这就是为什么我总是构建应用程序使用线性布局来设置工具栏而不是内置工具栏
标签: android android-toolbar searchview