Android cómo diseñar un SearchView en Actionbar?

Necesito cambiar el estilo de mi SearchView en mi ActionBar . En particular, necesito cambiar el color de la pista de texto y los iconos de SearchView si es posible. ¿Cómo puedo lograr esto en XML (es posible incluso en XML)?

Si esto no es posible, ¿cómo puedo recrear fácilmente un comportamiento similar con una vista personalizada? El comportamiento de cierre / expansión del SearchView es particularmente útil para mí.

¿Has probado algo como esto (con ActionBarSherlock):

 AutoCompleteTextView searchText = (AutoCompleteTextView) searchView.findViewById(R.id.abs__search_src_text); searchText.setHintTextColor(getResources().getColor(R.color.white)); searchText.setTextColor(getResources().getColor(R.color.white)); 

Funciona bien para mí.

Parece que necesitará proporcionar un diseño personalizado para su acción de búsqueda. No he podido encontrar ningún documento que hable sobre la modificación del SearchView predeterminado. Pero esto permite el comportamiento close / expand.

http://developer.android.com/guide/topics/ui/actionbar.html#ActionView

Preguntas relacionadas:

  • Honeycomb – personalizar SearchView dentro de la barra de acción
  • Establece el tipo de entrada numérica en SearchView en ActionBar

Necesita crear un nuevo tema y utilizarlo en el archivo de manifiesto.

 <style name="Theme.Test" parent="@style/Theme.AppCompat.Light"> <item name="searchViewAutoCompleteTextView">@style/Theme.Test.SearchField</item> </style> <!-- Search edit text --> <style name="Theme.Test.SearchField" parent="@style/Widget.AppCompat.Light.AutoCompleteTextView"> <item name="android:textColor">@color/white</item> <item name="android:textColorHint">@color/white</item> </style> 

Funcionó bien para mí.

La respuesta correcta es sobrecargar el estilo de widget de barra de acción con su propio estilo personalizado. Para la luz holo con la barra de acción oscura, ponga esto en su propio archivo de estilos como res/values/styles_mytheme.xml :

 <style name="Theme.MyTheme" parent="@android:style/Theme.Holo.Light.DarkActionBar"> <item name="android:actionBarWidgetTheme">@style/Theme.MyTheme.Widget</item> <!-- your other custom styles --> </style> <style name="Theme.MyTheme.Widget" parent="@android:style/Theme.Holo"> <item name="android:textColorHint">@android:color/white</item> <!-- your other custom widget styles --> </style> 

Asegúrese de que su aplicación está utilizando tema tema personalizado como se describe en la descripción de enlace aquí

  • Auto Collapse ActionBar SearchView en Soft Keyboard cerrar
  • Cómo forzar el icono de desbordamiento de barra de acción para mostrar
  • La navegación ActionBar up recrea la actividad principal en lugar de onResume
  • El logotipo de Actionbar se convierte en el icono de la aplicación en un ActionView expandido
  • Compatibilidad de ActionBar con API 15
  • Ocultar sólo la barra de acciones en las pestañas de la barra de acción de desplazamiento no
  • Cómo cambiar el icono predeterminado en el SearchView, para ser utilizado en la barra de acción de Android?
  • Sólo la mitad inferior de la barra de acciones está mostrando (y está detrás de la barra de estado)
  • Android: Barra de acción personalizada, ¿Cómo usar todo el ancho?
  • Menú emergente en el clic de un botón en la barra de acción
  • ActionBar y ActionBar.Tab y el cajón de navegación android
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.