Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

How to change SearchView textcolor?

Tags:

My SearchView is located in a LinearLayout / RelativeLayout rather than the action bar.

Its default text color is white, how to change it?

like image 283
jojo Avatar asked May 11 '16 12:05

jojo


2 Answers

Digging into the source code of the appcompat SearchView I found that it uses an AppCompatAutoCompleteTextView which by default uses the autoCompleteTextView style.

Creating a different autocomplete style and setting it in the app theme solved the problem for me.

<style name="SearchAutoCompleteTextView" parent="Widget.AppCompat.Light.AutoCompleteTextView">
    <item name="android:textColor">@color/my_text_color</item>
    <item name="android:textColorHint">@color/my_hint_color</item>
</style>

<style name="AppTheme" parent="Theme.AppCompat.Light">
    ...
    <item name="autoCompleteTextViewStyle">@style/SearchAutoCompleteTextView</item>
</style>
like image 179
Corneliu Dascălu Avatar answered Sep 22 '22 13:09

Corneliu Dascălu


For Androidx Library

SearchView searchView = (SearchView) findViewById(R.id.search);
EditText searchEditText = searchView.findViewById(androidx.appcompat.R.id.search_src_text);
searchEditText.setTextColor(getResources().getColor(R.color.white));
searchEditText.setHintTextColor(getResources().getColor(R.color.white));

For Android Support Library

SearchView searchView = (SearchView) findViewById(R.id.search);
EditText searchEditText = (EditText) searchView.findViewById(android.support.v7.appcompat.R.id.search_src_text);
searchEditText.setTextColor(getResources().getColor(R.color.white));
searchEditText.setHintTextColor(getResources().getColor(R.color.white));
like image 21
Android Geek Avatar answered Sep 23 '22 13:09

Android Geek