Skip to content Skip to sidebar Skip to footer

How Can I Change The Icon Color Of Searchview In Actionbar?

This is my menu.xml Copy

Solution 2:

I found another solution to override the default searchview icons color so you don't have to use a drawable.

@OverridepublicbooleanonCreateOptionsMenu(Menu menu) {
    MenuInflatermenuInflater= getMenuInflater();
    menuInflater.inflate(R.menu.menu, menu);
    android.support.v7.widget.SearchViewsearchView= (android.support.v7.widget.SearchView) menu.findItem(R.id.action_search).getActionView();
    ImageViewicon= searchView.findViewById(android.support.v7.appcompat.R.id.search_button);
    icon.setColorFilter(Color.WHITE);
    returnsuper.onCreateOptionsMenu(menu);
}

This code changes the color of the default searchview icon.

android.support.v7.widget.SearchViewsearchView= (android.support.v7.widget.SearchView) menu.findItem(R.id.action_search).getActionView();
ImageViewicon= searchView.findViewById(android.support.v7.appcompat.R.id.search_button);
icon.setColorFilter(Color.WHITE);

Solution 3:

You can define a style for the searchview as below:

<style name="SearchViewStyle" parent="Widget.AppCompat.SearchView">
    //text color
    <item name="android:editTextColor">@color/white</item>
    //icon color
    <item name="android:tint">@color/white</item>
    //cursor color
    <item name="colorAccent">@color/white</item>
    //query search icon color
    <item name="colorControlNormal">@color/sb_light_gray</item>
</style>

and call it in your xml :

<androidx.appcompat.widget.SearchView
    android:id="@+id/searchview_passage"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:theme="@style/SearchViewStyle />

Post a Comment for "How Can I Change The Icon Color Of Searchview In Actionbar?"