2012-02-08 1 views
6

Ho bisogno di cambiare lo stile del mio SearchView nel mio ActionBar. In particolare, ho bisogno di cambiare il colore suggerimento del testo e le icone SearchView se possibile. Come posso realizzare questo in XML (è anche possibile in XML)?Android come stile un SearchView in Actionbar?

Se ciò non è possibile, come posso ricreare facilmente un comportamento simile con una visualizzazione personalizzata? Il comportamento di chiusura/espansione di SearchView è particolarmente utile per me.

+0

Hai trovato una soluzione per questo problema ? Plase non dimenticare di notificarci qui - o se non specificare la tua domanda per favore. :-) –

+0

Sono riuscito a modificare il colore suggerito in questo modo: http://stackoverflow.com/questions/17791388/changing-action-bar-searchview-hint-text-color – Soflete

risposta

7

Hai provato qualcosa di simile (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)); 

Funziona bene per me.

+0

Stai utilizzando ActionbarSherlock. – wangqi060934

+1

Questo ha funzionato per me con ActionBarSherlock e Android: minSdkVersion = "8". Grazie! – Munchies

+0

Dovrebbe essere la risposta accettata. Grazie! –

0

È necessario creare un nuovo tema e utilizzarlo nel file manifest.

<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> 

Ha funzionato bene per me.

0

La risposta corretta è di sovraccaricare lo stile del widget della barra delle azioni con il proprio stile personalizzato. Per la luce ologramma con bar azione scuro, mettere questo nei propri stili di file come 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> 

Assicurarsi che l'applicazione utilizza tema tema personalizzato, come descritto nella enter link description here