Buscar ver cerrar icono aparecer deshabilitado en lugar de blanco

Cada vez que escriba en mi búsqueda, el botón de cierre (X) parece estar deshabilitado por alguna razón en lugar de aparecer en el color blanco. ¿Cómo se puede resolver este error para que aparezca blanco?

Introduzca aquí la descripción de la imagen

@Override public void onCreateOptionsMenu(Menu menu, MenuInflater inflater) { inflater.inflate(R.menu.menu_search_list, menu); MenuItem item = menu.findItem(R.id.action_search); SearchView searchView = (SearchView) MenuItemCompat.getActionView(item); searchView.setOnQueryTextListener(this); searchView.setQueryHint(getResources().getString(R.string.station_search_hint)); } 

Menu_search_list.xml

 <?xml version="1.0" encoding="utf-8"?> <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_light" android:title="@string/action_search" android:orderInCategory="100" app:showAsAction="always" app:actionViewClass="android.support.v7.widget.SearchView"/> </menu> 

3 Solutions collect form web for “Buscar ver cerrar icono aparecer deshabilitado en lugar de blanco”

Tu código parece estar bien. Pruebe el siguiente código:

 final MenuItem search = menu.findItem(R.id.action_search); if (search != null) { SearchView searchView = (SearchView) MenuItemCompat.getActionView(search); search.expandActionView(); searchView.setOnQueryTextListener(new SearchView.OnQueryTextListener() { @Override public boolean onQueryTextSubmit(String query) { return false; } @Override public boolean onQueryTextChange(String newText) { // Your Logic return false; } }); MenuItemCompat.setOnActionExpandListener(search, new MenuItemCompat.OnActionExpandListener() { @Override public boolean onMenuItemActionExpand(MenuItem item) { return false; } @Override public boolean onMenuItemActionCollapse(MenuItem item) { finish(); return true; } }); 

Un nuevo tweak: Pruebe el mismo código anterior en onPrepareOptionsMenu con las siguientes líneas adicionales en la parte superior

 menu.clear(); getMenuInflater().inflate(R.menu.menu_search_list, menu); ... // Above code 
 ImageView close_button = (ImageView)searchView.findViewById(R.id.close_button); close_button .setBackgroundResource(R.drawable.your_icon); 

O (utilizando Selector)

  ImageView close_button =(ImageView)searchView.findViewById(R.id.close_button); close_button .setBackgroundResource(R.drawable.your_image_selector); 

Creo que copiar y pegar el siguiente código:

 View close = searchView.findViewById(R.id.search_close_btn); close.setBackgroundResource(R.drawable.desired_icon); 

No es una buena solución. Por favor, use estilos para esto.
Primera solución. Añadir icono de cierre como predeterminado android:searchViewCloseIcon en su tema principal:

 <style name="Theme" parent="AppBaseTheme"> <item name="android:searchViewCloseIcon">@drawable/ic_your_search_close_icon</item> </style> 

Segunda solución (Mejor). Estilo de la barra de acción

 <style name="CustomActionBarTheme" parent="@style/Theme.AppCompat.Light.DarkActionBar"> <item name="android:actionBarStyle">@style/MyActionBar</item> <!-- Support library compatibility --> <item name="actionBarStyle">@style/MyActionBar</item> </style> <!-- ActionBar styles --> <style name="MyActionBar" parent="@style/Theme.AppCompat.Light.DarkActionBar"> <item name="searchViewCloseIcon">@android:drawable/ic_your_search_close_icon</item> </style> 

Otros atributos de SearchView (del código fuente appcompat-v7 ( LINK ACTUALIZADO )):

 <attr name="searchResultListItemHeight" format="dimension" /> <attr name="searchViewAutoCompleteTextView" format="reference" /> <attr name="searchViewCloseIcon" format="reference" /> <attr name="searchViewEditQuery" format="reference" /> <attr name="searchViewEditQueryBackground" format="reference" /> <attr name="searchViewGoIcon" format="reference" /> <attr name="searchViewSearchIcon" format="reference" /> <attr name="searchViewTextField" format="reference" /> <attr name="searchViewTextFieldRight" format="reference" /> <attr name="searchViewVoiceIcon" format="reference" /> 

Uso de Exaple:

 <item name="searchDropdownBackground">@android:drawable/spinner_dropdown_background</item> <item name="searchViewTextField">@drawable/textfield_searchview_holo_dark</item> <item name="searchViewTextFieldRight">@drawable/textfield_searchview_right_holo_dark</item> <item name="searchViewCloseIcon">@android:drawable/ic_clear</item> <item name="searchViewSearchIcon">@android:drawable/ic_search</item> <item name="searchViewGoIcon">@android:drawable/ic_go</item> <item name="searchViewVoiceIcon">@android:drawable/ic_voice_search</item> <item name="searchViewEditQuery">@android:drawable/ic_commit_search_api_holo_dark</item> <item name="searchViewEditQueryBackground">?attr/selectableItemBackground</item> <item name="searchDialogTheme">@style/Theme.SearchBar</item> 

Más sobre el estilo:
Android – Theming ActionBar y el SearchView en su interior por Andreas Nilsson
Diseño de la barra de acciones mediante la documentación oficial de Android

  • Android LinearGradient XML
  • XML para la programación de Android
  • Esquinas redondeadas redondeadas de Android XML con etiqueta de mapa de bits
  • Uso de iconos vectoriales en Android
  • Animación de diseños utilizando el atributo "animateLayoutChanges" en XML
  • Android Edittext pregunta, reemplazar teclado entrar con hecho
  • Cómo asignar una lista de lista a RecyclerView
  • Android: uso de parámetros de dimensión predefinidos en el diseño programático
  • Cómo aumentar el tamaño de transport.dump de 256 bytes a 512 o más bytes en KSOAP2?
  • Error en styles.xml en android-support-v7-mediarouter
  • PreferenceScreen - <intention ... /> - Excepción - FLAG_ACTIVITY_NEW_TASK
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.