How to change the autocomplete text color for search view inside of ActionBarSherlock with dark background?
actionbarsherlock, android, android-theme, autocompletetextview, colors
Solution
I solved this by disabling autocomplete feature (it will be disabled if you'll set the edit type to Visible Password), but this solution is not very good and I'm still in search for better one.
private SearchView getSearchView() {
SearchManager searchManager = (SearchManager) getSystemService(Context.SEARCH_SERVICE);
SearchView searchView = new SearchView(getSupportActionBar().getThemedContext());
searchView.setQueryHint("Search for items");
searchView.setSearchableInfo(searchManager.getSearchableInfo(getComponentName()));
AutoCompleteTextView searchTextView =
(AutoCompleteTextView) searchView.findViewById(R.id.abs__search_src_text);
if (searchTextView != null) {
searchTextView.setInputType(InputType.TYPE_CLASS_TEXT
| InputType.TYPE_TEXT_VARIATION_VISIBLE_PASSWORD);
searchTextView.setTypeface(Typeface.DEFAULT);
}
return searchView;
}
Problem
I have my own theme for ActionBarSherlock based on `Theme.Sherlock.Light.DarkActionBar`, here are my styles: ``` <style name="Theme.MyTheme" parent="Theme.Sherlock.Light.DarkActionBar"> <item name="actionBarStyle">@style/Widget.MyTheme.ActionBar</item> </style> <style name="Widget.MyTheme.ActionBar" parent="Widget.Sherlock.Light.ActionBar.Solid.Inverse"> <item name="android:background">@drawable/action_bar</item> <item name="background">@drawable/action_bar</item> </style> ``` Where `@drawable/action_bar` is an xml: ``` <layer-list xmlns:android="http://schemas.android.com/apk/res/android" > <item> <shape android:shape="rectangle"> <solid android:color="@color/color_action_bar_bottom_line" /> </shape> </item> <item android:bottom="2dp"> <shape android:shape="rectangle"> <solid android:color="@color/color_action_bar_background" /> </shape> </item> </layer-list> ``` Everything looks great except one thing: the text in the SearchView (when I use the search mode in ActionBar) is "dark on dark", so I cannot see anything. I tried to set the text colors for SearchView manually: ``` AutoCompleteTextView searchTextView = (AutoCompleteTextView) searchView.findViewById(R.id.abs__search_src_text); searchTextView.setTextColor(Color.WHITE); searchTextView.setHintTextColor(Color.LTGRAY); searchTextView.setHighlightColor(Color.WHITE); searchTextView.setLinkTextColor(Color.WHITE); ``` This helped a lot but I cannot change the color of autocomplete text: As you see, it's still black. How can I set the white text color for this kind of text?