我已经在菜单文件夹中添加了搜索图标,并为此创建了menu.xml
文件。在这里,我使用Android Image Asset创建了带有浅绿色的自定义搜索图标。
当我在drawable中添加此浅绿色搜索图标并运行该项目时,它带有白色。搜索提示和搜索文本也以白色显示。 由于我有白色的操作栏,因此所有这些搜索图标都根本看不到。请帮助纠正此问题。
我已经为搜索图标创建了menu.xml文件,还在可绘制文件夹中添加了具有浅绿色的搜索图标。我正在使用Theme.AppCompat.Light.DarkActionBar,并且将其操作栏颜色设置为白色。
Styles.xml
<style name="AppTheme" parent="Theme.AppCompat.Light.DarkActionBar">
<!-- Customize your theme here. -->
<item name="colorPrimary">@color/colorPrimary</item>
<item name="colorPrimaryDark">@color/colorPrimaryDark</item>
<item name="colorAccent">@color/colorAccent</item>
<item name="titleTextColor">@color/titleColor</item>
<item name="colorControlNormal">@color/colorAccent</item>
menu.xml文件:
<menu xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto">
<item
android:id="@+id/action_search"
android:icon="@drawable/ic_action_search"
app:showAsAction="always"
app:actionViewClass="android.support.v7.widget.SearchView"
android:title="@string/search_string" />
<!--<item
android:id="@+id/action_settings"
android:title="Settings"/>-->
</menu>
活动代码:
public boolean onCreateOptionsMenu(Menu menu) {
getMenuInflater().inflate(R.menu.menu, menu);
MenuItem item = menu.findItem(R.id.action_search);
//additonal code
return super.onCreateOptionsMenu(menu);
我希望自定义颜色搜索图标仅显示在白色操作栏中,而不是白色搜索图标(现在显示)。搜索查询搜索提示为黑色。请帮助...
答案 0 :(得分:0)
最好的选择是对菜单中的项目使用自定义布局。
您也可以尝试遵循此article
答案 1 :(得分:0)
您需要使用android.support.v7.widget.SearchView:
<style name="SearchViewStyle" parent="Widget.AppCompat.SearchView">
<!-- Gets rid of the search icon -->
<item name="searchIcon">@drawable/ic_search</item>
<!-- Gets rid of the "underline" in the text -->
<item name="queryBackground">@color/white</item>
<!-- Gets rid of the search icon when the SearchView is expanded -->
<item name="searchHintIcon">@null</item>
<!-- The hint text that appears when the user has not typed anything -->
<item name="queryHint">@string/search_hint</item>
</style>
答案 2 :(得分:0)
对我有用的是设置前景。这会改变搜索视图的图标颜色。
<style name="MySearchViewTheme" parent="Widget.AppCompat.SearchView">
<item name="android:background">@color/grey_dark</item>
<!-- Changes icons color -->
<item name="android:colorForeground">@color/grey_400</item>
</style>