如何从searchview中的edittext中删除关闭图标

时间:2016-04-29 11:21:37

标签: android searchview

我正在尝试自定义searchview。 我想摆脱searchview中的关闭图标。到目前为止我做了什么?

int closeId =android.support.v7.appcompat.R.id.search_close_btn;
ImageView close = (ImageView)mSearchView.findViewById(closeId);
close.setVisibility(View.GONE);

此代码删除关闭图标。但是一旦我开始输入editText,它就会重新出现。 如何永久摆脱它?

扩展的searchView

时会删除

关闭图标

enter image description here

当我输入editText时它会重新出现。 enter image description here

3 个答案:

答案 0 :(得分:0)

试过这个?:Hide close button in android Search View

像这样改变你的主题:

For< V21:

<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>

对于v21及以上版本:

<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>

同时检查this以获得更多自定义。

答案 1 :(得分:0)

如果要以编程方式进行操作,请在struct News: Decodable { let idPlace, namePlace, dateMsg, msg, urlPicture: String } 中放置一段隐藏“ x”按钮的代码:

onQueryTextListener

答案 2 :(得分:0)

将此属性添加到SearchView xml布局文件中:

app:closeIcon="@android:color/transparent"

然后禁用关闭按钮:

ImageView btnClose = searchView.findViewById(R.id.search_close_btn);
btnClose.setEnabled(false);