Как изменить цвет значка поиска в моем проекте Android? - PullRequest
0 голосов
/ 18 апреля 2019

Я добавил значок поиска в папку меню и создал файл 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);

Я хочу, чтобы пользовательский значок поиска цвета отображался только на белой панели действий вместо значка поиска белого цвета (теперь отображается).И поисковый запрос поиска подсказка в черном цвете.Пожалуйста, помогите ...

Ответы [ 2 ]

0 голосов
/ 18 апреля 2019

Вам необходимо использовать 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>
0 голосов
/ 18 апреля 2019

Наилучшим вариантом будет использование пользовательского макета для элементов в меню.

Также вы можете попробовать следовать этой статье

...