Style Android SearchView Consente di abbassare il popup

Vorrei sapere come stile il drop-down popup del Android 4.0 SearchView ?

  • i dati di caricamento android in modo asincrono in pager
  • Selettore, Livello-list e forma / bitmap nello stesso xml
  • Android: come il titolo di Centro in ToolBar
  • Come modificare i frammenti utilizzando il cassetto di navigazione di Android
  • Posso passare un object Javascript ad un WebView di Android?
  • Caricamento di file da server a server
  • Sto utilizzando il Theme.Sherlock.Light.DarkActionBar , ma non so come Theme.Sherlock.Light.DarkActionBar la ricerca a discesa in uno background bianco e un text nero?

    2 Solutions collect form web for “Style Android SearchView Consente di abbassare il popup”

    Per qualche motivo la modellazione con il "searchAutoCompleteTextView" non funzionava né per me. Così ho risolto utilizzando il seguente codice quando ho impostato il mio SearchView:

    Nota: questo è tutto fatto con la libreria di android v7 support / AppCompat

     public boolean onCreateOptionsMenu(Menu menu) { getMenuInflater().inflate(R.menu.search_menu, menu); MenuItem searchItem = menu.findItem(R.id.action_search); SearchView searchView = (SearchView) MenuItemCompat.getActionView(searchItem); // Theme the SearchView's AutoCompleteTextView drop down. For some reason this wasn't working in styles.xml SearchAutoComplete autoCompleteTextView = (SearchAutoComplete) searchView.findViewById(R.id.search_src_text); if (autoCompleteTextView != null) { autoCompleteTextView.setDropDownBackgroundResource(R.drawable.abc_search_dropdown_light); } } 

    Ci sono due risorse a discesa di ricerca fornite dalla libreria di compatibilità, sono

    • R.drawable.abc_search_dropdown_light (background chiaro)
    • R.drawable.abc_search_dropdown_dark (background scuro)

    Ci sono diversi passaggi per farlo

    In primo luogo, devi creare un disegno disegnato con quattro stati, puoi 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" /> 

    Salvare il disegno disegnato sopra (formato .xml) nel proprio progetto / disegnare. Modificare gli stili di conseguenza facendo riferimento al campione di cui sopra. Si prega di notare che lo stile potrebbe essere profondamente annidato, basta essere pazienza guardando in basso l'tree.

    Quindi creare (o mettere in un tema personalizzato esistente) un tema personalizzato con quanto segue, dovrebbe essere salvato come res / values ​​/ 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 il "myCustomDrawable_DropDown" e "myCustomDrawable_popupBackground" devono essere il nome del disegnatore personalizzato appena creato.

    Devi solo sapere che il "android: dropDownSelector" e / o "android: popupBackground" sono coloro che sono responsabili del tema della window popup automatica.

    Infine , applica il tema nel Manifesto!

     <application android:icon="@drawable/ic_launcher" android:label="@string/app_name" android:theme="@style/Theme.MyCustomTheme" > ... 
    L'Android è un fan Android di Google, tutto su telefoni Android, Android Wear, Android Dev e applicazioni Android Games e così via.