如何在edittext中以编程方式更改searchView的搜索图标颜色?

时间:2019-08-26 17:40:28

标签: android android-toolbar android-search

我的工具栏中有SearchView 我想知道如何以编程方式更改SearchView Edittext drawablelefticon颜色内的搜索图标?

searchView = menu.findItem(R.id.action_search)?.actionView as? SearchView

我知道使用SearchView的findViewById可以找到SearchView的组件并做到这一点 但这不起作用,我想知道是否可以通过编程方式更改edittext下划线颜色吗?

这是我的图片,您可以看到我的意思,并且我更改了关闭按钮的颜色,我希望其他组件具有相同的颜色

link

val searchText = searchView?.findViewById(R.id.search_src_text) as SearchView.SearchAutoComplete
searchText.compoundDrawables[0].setTint(Color.RED)

2 个答案:

答案 0 :(得分:1)

它应该工作

val searchIcon = searchView.findViewById(R.id.search_mag_icon) as ImageView
searchIcon.setColorFilter(Color.Red)

答案 1 :(得分:0)

我进行了一些研究,发现有关HintIcon是私有领域的信息,您无法以编程方式进行更改。我不确定,但是我发现的唯一方法就是更改XML属性。

app:searchHintIcon="@drawable/ic_search"

此后,整个图标已更改,因此您只需创建一个具有所需颜色的简单搜索向量即可。

SearchView Serach Hint Icon

可能还有其他方法可以更改它,但是现在我不确定。