searchview自定义关闭图标

时间:2013-10-28 21:25:44

标签: android searchview

我使用下面的代码不起作用:错误:错误:找不到与给定名称匹配的资源: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);

3 个答案:

答案 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"

希望它有所帮助。