Как удалить SearchView Icon? - PullRequest
       41

Как удалить SearchView Icon?

0 голосов
/ 11 апреля 2020

У меня есть простое представление поиска (androidx.appcompat.widget.SearchView), а не android .support.v7.widget.SearchView.

Я хочу удалить значок поиска, когда он находится в фокусе (QueryTextFocusChangeListener).

После того, как я в Google, я нашел два решения для android .support.v7.widget.SearchView

  1. Это я не могу найти R.id.search_mag_icon , так что это не сработало.

    SearchView searchView = (SearchView) searchViewItem.getActionView ();
    searchView.findViewById (R.id.search_mag_icon) .setVisibility (View.GONE);

  2. настройка приложения: searchIcon = "@ null" убирает значок, но в начале его не будет. Я хочу удалить значок, только когда он в фокусе. Я попытался установить searchIcon = "@ null" программно, но не могу его найти.

    app: searchIcon = "@ null"

Опять же, я использую androidx. appcompat.widget.SearchView. Пожалуйста, помогите мне. Я провел долгое время, но все еще

страдания.

Ответы [ 2 ]

0 голосов
/ 11 апреля 2020

Я не думаю, что это можно сделать программно. Проверьте mSearchHintIcon в SearchView.java (android источник). Это личное.

Попробуйте 'app: searchHintIcon':

    <androidx.appcompat.widget.SearchView
      android:id="@+id/main_sv"
      app:searchHintIcon="@drawable/blank_placeholder_drawable"
      android:layout_width="match_parent"
      android:layout_height="wrap_content"/>

Или вы также можете изменить android:tint="#fafafa" на любой заполнитель, который можно нарисовать в соответствии с цветом фона.

0 голосов
/ 11 апреля 2020

Попробуйте это с вашим SearchView:

searchView.setIconifiedByDefault(false);
...