Ci sono più passaggi di farlo
In primo luogo, è necessario creare un costume drawable con quattro stati, è possibile fare riferimento a {} ABSLibrary /res/drawable/abs__list_selector_holo_dark.xml. Sarà qualcosa di simile:
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:state_window_focused="false" android:drawable="@android:color/transparent" />
<!-- Even though these two point to the same resource, have two states so the drawable will invalidate itself when coming out of pressed state. -->
<item android:state_focused="true" android:state_enabled="false" android:state_pressed="true" android:drawable="@drawable/abs__list_selector_disabled_holo_dark" />
<item android:state_focused="true" android:state_enabled="false" android:drawable="@drawable/abs__list_selector_disabled_holo_dark" />
<item android:state_focused="true" android:state_pressed="true" android:drawable="@drawable/abs__list_selector_background_transition_holo_dark" />
<item android:state_focused="false" android:state_pressed="true" android:drawable="@drawable/abs__list_selector_background_transition_holo_dark" />
<item android:state_focused="true" android:drawable="@drawable/abs__list_focused_holo" />
Salva drawable personalizzato sopra (formato .xml) nel proprio progetto res/drawable. Modificare gli stili di conseguenza facendo riferimento all'esempio sopra. Si prega di notare che lo stile potrebbe essere profondamente annidato, basta essere la pazienza guardando l'albero.
Quindi creare (o mettere in tema personalizzato esistente) un tema personalizzato con la seguente, che deve essere salvato come res/Valori/styles.xml:
<style name="Theme.MyCustomTheme" parent="Theme.Sherlock.Light.DarkActionBar">
<item name="searchAutoCompleteTextView">@style/MySearchAutoCompleteTextView</item></style>
<style name="MySearchAutoCompleteTextView" parent="Sherlock.__Widget.SearchAutoCompleteTextView">
<item name="android:dropDownSelector">@drawable/myCustomDrawable_DropDown</item>
<item name="android:popupBackground">@drawable/myCustomDrawable_popupBackground</item></style>
Si prega di notare che la "myCustomDrawable_DropDown" e " myCustomDrawable_popupBackground "deve essere il nome del drawable personalizzato che hai appena creato.
Devi solo sapere che "android: dropDownSelector" e/o "android: popupBackground" sono coloro che sono responsabili per la tematizzazione della finestra popup automatica.
Infine,, applica il tema nel tuo manifesto!
<application
android:icon="@drawable/ic_launcher"
android:label="@string/app_name"
android:theme="@style/Theme.MyCustomTheme" > ...
Che funziona bene, tranne il colore del testo non è giusto, ma guarderò più – Benoit
@Benoit Qui 'un esempio di come cambiare il colore del testo - http://stackoverflow.com/a/ 14364222/1299623 – jimmithy
cos'è R.id.search_src_text? –