如何在我的android项目中更改搜索图标颜色?

问题描述 投票:0回答:2

我在菜单文件夹中添加了搜索图标,并为此创建了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);

我希望自定义颜色搜索图标仅显示在白色操作栏中,而不是白色搜索图标(现在显示)。并以黑色搜索查询搜索提示。请帮忙...

android android-layout searchview android-search
2个回答
0
投票

最好的选择是对菜单中的项目使用自定义布局。

您也可以尝试按照这个article


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>
© www.soinside.com 2019 - 2024. All rights reserved.