Autore Topic: personalizzare colore background spinner  (Letto 336 volte)

Offline Simone1989

  • Nuovo arrivato
  • *
  • Post: 7
  • Respect: 0
    • Mostra profilo
personalizzare colore background spinner
« il: 25 Aprile 2014, 18:17:43 CEST »
0
Salve,
avrei la necessità di personalizzare il colore di sfondo di uno spinner, utilizzando un colore X quando si trova nello stato normale e un colore Y quando ci clicco sopra.
Come posso fare?
Grazie.

Offline elfo83

  • Utente normale
  • ***
  • Post: 287
  • Respect: +23
    • Mostra profilo
  • Sistema operativo:
    Mac OS 10.8.2
Re:personalizzare colore background spinner
« Risposta #1 il: 06 Maggio 2014, 15:06:03 CEST »
0
Innanzi tutto puoi definire il layout per ogni singolo Item definendo un file spinneritem.xml come questo ad esempio:

Codice (XML): [Seleziona]
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="50dip">
<TextView
android:id="@+id/spinner_text"
android:layout_height="wrap_content"
android:layout_width="wrap_content"
android:textSize="16sp"
android:textColor="@color/black" android:layout_centerVertical="true" android:layout_marginLeft="10dip"
/>
</RelativeLayout>

poi quando passi l'adapter allo spinner per popolarlo fai una cosa del genere, passando il suo irem layout, lo spinner id e il nome dello spinner:

Codice (Java): [Seleziona]
adapter = new ArrayAdapter<String>(getApplicationContext(),R.layout.spinneritem,R.id.spinner_text, listPerc);
                                        percent.setAdapter(adapter);

Per cambiare il colore di sfondo dell'item scelto prova a fare qualcosa del genere:

Codice (Java): [Seleziona]
            nomeSpinner.getSelectedView().setBackgroundColor(color)