默认情况下,如果在SearchView为空时按下SearchView x按钮(在SearchView右侧),键盘将隐藏,同时将SearchView缩小为放大镜图标。这会导致SearchView的下边框以及提示(占位符)隐藏。如何删除此功能,以便在按下x按钮时,SearchView永远不会缩小并丢失其功能?
答案 0 :(得分:1)
在onCreateOptionsMenu
方法中,将OnCloseListener
设置为SearchView
并在其true
方法中返回onClose()
。这将阻止它的默认行为,因此它什么都不做。请查看以下示例:
@Override
public void onCreateOptionsMenu(Menu menu, MenuInflater inflater) {
inflater.inflate(R.menu.search_options_menu, menu);
MenuItem searchMenuItem = menu.findItem(R.id.itemSearch);
searchView = (SearchView) searchMenuItem.getActionView();
searchView.setOnCloseListener(new SearchView.OnCloseListener() {
@Override
public boolean onClose() {
return true;
}
});
}
答案 1 :(得分:0)
第1步:
<style name="AppTheme" parent="Theme.AppCompat.Light.DarkActionBar">
<item name="actionBarWidgetTheme">@style/AppTheme.WidgetTheme</item>
</style>
<style name="AppTheme.WidgetTheme" parent="Theme.AppCompat.Light.DarkActionBar">
<item name="searchViewCloseIcon">@android:color/transparent</item>
</style>
或强>
<style name="AppTheme" parent="Theme.AppCompat.Light.DarkActionBar">
<item name="searchViewStyle">@style/AppTheme.SearchView</item>
</style>
<style name="AppTheme.SearchView" parent="Widget.AppCompat.SearchView">
<item name="closeIcon">@android:color/transparent</item>
</style>
或
如果您想以编程方式执行此操作,请尝试以下
<强>步骤2:强>
searchView.setBackgroundColor(Color.WHITE);
或强>
((EditText)searchView.findViewById(android.support.v7.appcompat.R.id.search_src_text)).setHintTextColor(Color.WHITE);