我使用了"Android Action Bar Style Generator“来生成我自己的全息主题。然后我添加了两个图标到操作栏,一个用于searchFilter,另一个用于文件选择器,这两个图标都是白色的。文件选择器图标(在右边)看起来不错,但不知何故搜索图标看起来是深灰色的。在搜索文本视图中键入时,关闭按钮也显示为深灰色。
我尝试过更改actionbar和搜索视图的颜色,但都没有成功。为什么搜索视图显示此颜色?我怎样才能改变它?
非常感谢。
更新:我以为我的应用程序正在使用我的图标,但它没有,它使用了默认的搜索视图图标,所以我的问题实际上是,我如何更改搜索视图的默认图标?menu.xml文件中的这句话不起作用:
android:icon="@drawable/selectable_header_search"
发布于 2013-01-17 17:23:01
不幸的是,由于主题属性searchViewSearchIcon
不是公共的,因此没有简单的方法将SearchView
图标更改为自定义的可绘制文件。详情请参阅this answer。
然而,我认为你的问题是因为继承了错误的主题造成的。请使用android:Theme.Holo.Light.DarkActionBar
作为您的主题的基础。那么操作栏上的默认图标应该是浅色的。
<style name="AppTheme" parent="android:Theme.Holo.Light.DarkActionBar">
...
</style>
发布于 2013-12-10 18:58:26
由于searchViewSearchIcon属性不是公共的,因此可以使用以下代码更改图标:
int searchIconId = searchView.getContext().getResources().getIdentifier("android:id/search_button",null, null);
ImageView searchIcon = (ImageView) searchView.findViewById(searchIconId);
searchIcon.setImageResource(R.drawable........);
发布于 2013-07-12 04:56:03
尝试在showAsAction中设置此选项:*MenuItem.SHOW_AS_ACTION_COLLAPSE_ACTION_VIEW*
如果没有此选项,SearchView将不会显示您为操作按钮设置的图标。
menu.add("Search")
.setIcon(
getResources().getDrawable(
R.drawable.selectable_header_search))
.setActionView(searchView)
.setShowAsAction(
MenuItem.SHOW_AS_ACTION_ALWAYS
| MenuItem.SHOW_AS_ACTION_COLLAPSE_ACTION_VIEW
| MenuItem.SHOW_AS_ACTION_WITH_TEXT);
https://stackoverflow.com/questions/14368788
复制相似问题