2012-02-08 51 views
6

Necesito cambiar el estilo de mi SearchView en mi ActionBar. En particular, necesito cambiar el color de sugerencia de texto y los iconos SearchView si es posible. ¿Cómo puedo lograr esto en XML (incluso es posible en XML)?Android cómo diseñar un SearchView en la barra de acciones?

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

+0

¿Ha encontrado una solución para esta pregunta ? Plase no se olvide de notificarnos aquí - o si no especifica su pregunta por favor. :-) –

+0

Me las arreglé para modificar el color de pista de esta manera: http://stackoverflow.com/questions/17791388/changing-action-bar-searchview-hint-text-color – Soflete

Respuesta

7

¿Usted ha intentado 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í.

+0

Está utilizando ActionbarSherlock. – wangqi060934

+1

Esto funcionó para mí con ActionBarSherlock y android: minSdkVersion = "8". ¡Gracias! – Munchies

+0

Debería ser la respuesta aceptada. ¡Gracias! –

0

Necesita crear un nuevo tema y usarlo 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í.

0

La respuesta correcta es sobrecargar el estilo del widget de la barra de acciones con su propio estilo personalizado. Para la luz holo con barra de acción oscura, poner esto en sus propios estilos presentar 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 el tema tema personalizado como se describe en enter link description here

Cuestiones relacionadas