我使用下面的代码不起作用:错误:错误:找不到与给定名称匹配的资源:attr 'searchViewCloseIcon'。如何更改searchview中的关闭图标。我真的很感激任何帮助。谢谢。我也看到了这个链接Android SearchView X mark icon但是无法实现它。还有它不是动作栏只搜索视图
在values文件夹
中的styles.xml中<style name="Theme" parent="AppBaseTheme">
<item name="android:searchViewCloseIcon">@android:drawable/ic_search_close</item>
</style>
我试过这段代码:
int linlayId = getResources().getIdentifier("android:id/search_plate", null, null);
ViewGroup v = (ViewGroup) src.findViewById(linlayId);
v.setBackgroundResource(R.drawable.ic_launcher);
上面的那个有效但下面的那个没有。
int linlayId = getResources().getIdentifier("android:id/search_close_btn", null, null);
ViewGroup v = (ViewGroup) src.findViewById(linlayId);
v.setBackgroundResource(R.drawable.ic_launcher);
答案 0 :(得分:4)
search_close_btn是一个imageview,设置其背景将不适用于此视图。 尝试以下方法:
int closeButtonId = searchView.getContext().getResources().getIdentifier("android:id/search_close_btn", null, null);
ImageView closeButton = (ImageView) searchView.findViewById(closeButtonId);
closeButton.setImageResource(R.drawable.mydrawable);
答案 1 :(得分:1)
如果你有AppCompat SearchView,你必须设置searchViewCloseIcon而不用“android”
<item name="android:searchViewCloseIcon">@android:drawable/ic_search_close</item>
答案 2 :(得分:1)
刚刚找到Appcompat Searchview交叉图标的随机解决方法
app:closeIcon="@drawable/delete"
希望它有所帮助。