android – 带ActionBarSherlock的ActionBar中SearchView的文本颜色

我想在ActionBarSherlock SearchView中更改文本的颜色,所以我在StackOverflow上找到了这个:

AutoCompleteTextView searchText = (AutoCompleteTextView) searchView.findViewById(R.id.abs__search_src_text);
searchText.setHintTextColor(getResources().getColor(R.color.white));
searchText.setTextColor(getResources().getColor(R.color.white));    

但问题是searchText始终为null.我也尝试使用search_src_text(没有abs__) – 再次,searchText为null.

我使用Sherlock作为我的ActionBar(具有操作栏的自定义视图)但我也希望更改搜索视图的文本颜色.

我得到的任何东西?

最佳答案
更改并应用您的样式如下:

>覆盖定义相关样式的SearchViewStyle.

<style name="SearchViewStyle" 
       parent="Widget.Sherlock.Light.SearchAutoCompleteTextView">
    <item name="android:textColor">myTextColor</item>
</style>

>将此样式定义添加到您的应用主题.

<style name="CustomTheme" parent="Theme.Sherlock.Light">
    ...
    <item name="searchAutoCompleteTextView">@style/SearchViewStyle</item>
    ...
</style>

>在你的Manifest中应用这个主题(android:theme =“CustomTheme”).

希望这会有所帮助……干杯!

附:在ABS样式定义(XML文件)中搜索SearchViewStyle.这样,您可以使用Ctrl单击定义来跟踪可用的样式.

转载注明原文:android – 带ActionBarSherlock的ActionBar中SearchView的文本颜色 - 代码日志