在searchview中更改x标记图标

时间:2013-10-29 04:49:18

标签: android searchview

我在操作栏下面有一个searchview。我尝试用另一个drawable替换x标记(关闭图标)。我尝试了下面的代码,我收到此错误: 错误:错误:找不到与给定名称匹配的资源:attr'searchViewCloseIcon'。

请让我知道如何解决此错误。我真的很感激任何帮助。谢谢。

在values文件夹

中的styles.xml中
<style name="Theme" parent="AppBaseTheme">
<item name="android:searchViewCloseIcon">@android:drawable/ic_search_close</item>
</style>

3 个答案:

答案 0 :(得分:4)

我不会详细说明,因为这里有一篇很好的帖子:here关于调整搜索视图以及为什么上述答案不起作用。

如果您想更改&#39; X&#39;,以下方法可以更改颜色

   int crossId = searchView.getContext().getResources().getIdentifier("android:id/search_close_btn", null, null);            // Getting the 'search_plate' LinearLayout.
    ImageView image = (ImageView) searchView.findViewById(crossId);
    Drawable d = image.getDrawable();
    d.setColorFilter(Color.WHITE, PorterDuff.Mode.SRC_ATOP);

如果您想更改图标

   int crossId = searchView.getContext().getResources().getIdentifier("android:id/search_close_btn", null, null);            // Getting the 'search_plate' LinearLayout.
    ImageView image = (ImageView) searchView.findViewById(crossId);
    image.setImageResource(R.drawable.NEW_ICON_HERE);

答案 1 :(得分:2)

试试如下:

 <item name="android:searchViewCloseIcon">@drawable/ic_search_close</item>

答案 2 :(得分:0)

Try this
    <style name="srcclose">   
    <item name="android:searchViewCloseIcon">@drawable/ic_search_close</item>
    </style>