Autore Topic: Colori righe alternati ListView  (Letto 693 volte)

Offline elia_90

  • Nuovo arrivato
  • *
  • Post: 27
  • Fletto i muscoli e sono nel vuoto -.-
  • Respect: 0
    • Mostra profilo
  • Sistema operativo:
    Windows 8, Mac OS X 10.8
Colori righe alternati ListView
« il: 08 Aprile 2013, 22:50:06 CEST »
0
Ciao a tutti,

sto sclerando per mettere le righe di una listview con background alternato azzurrino e grigio chiaro. Proprio non riesco a capire come si dovrebbe fare?

Qualcuno sarebbe così gentile da spiegarmi passo passo, anche con esempi di codice, come si dovrebbe fare?

Offline s1m0

  • Utente junior
  • **
  • Post: 122
  • Respect: +14
    • Mostra profilo
  • Dispositivo Android:
    Samsung Galaxy S
  • Sistema operativo:
    Android 4.1.2
Re:Colori righe alternati ListView
« Risposta #1 il: 09 Aprile 2013, 09:43:11 CEST »
0
Ti consiglio di implementare un Custom Adapter.

Tramite il metodo getView, hai la possibilità di inizializzare e personalizzare ogni riga.

http://www.simplesoft.it/android/guida-agli-adapter-e-le-listview-in-android.html

Questa è la firma del metodo

Codice: [Seleziona]
public View getView(int position, View convertView, ViewGroup parent)
Come puoi vedere ti arriva un argomento position, che indica appunto la posizione della riga. Tramite questo codice puoi  capire quale colore impostare:

Codice: [Seleziona]

if(position % 2 == 0)
{
   // Posizione pari
   // Imposto colore 1
}
else
{
   // Posizione dispari
   // Imposto colore 2
}


Se hai altri dubbi, chiedi pure  :-)
Un click sul pulsante "Thanks" è sempre gradito :-)

Offline elia_90

  • Nuovo arrivato
  • *
  • Post: 27
  • Fletto i muscoli e sono nel vuoto -.-
  • Respect: 0
    • Mostra profilo
  • Sistema operativo:
    Windows 8, Mac OS X 10.8
Re:Colori righe alternati ListView
« Risposta #2 il: 09 Aprile 2013, 10:30:05 CEST »
0
in effetti avrei un altro dubbio...ho implementato un custom adapter e adesso il layout è esattamente come voglio io, tranne che per un particolare...io voglio che le righe siano alternate di azzurro chiaro e grigio chiaro...mentre per il grigio chiaro c'è il colore già impostato tra quelli di Color, per l'azzurrino devo dosare con attenzione le frazioni di colori nella scala rgb penso...ma come lo faccio? perché mettebdo il formato con il # davanti mi da errore di sintassi e con lo 0x non me lo prende...de invece metto la gradazione in formato decimale negativo mi rileva il colore, ma non so come interpretarli...mi sapete dire come dichiarare un colore personalizzato?

Offline s1m0

  • Utente junior
  • **
  • Post: 122
  • Respect: +14
    • Mostra profilo
  • Dispositivo Android:
    Samsung Galaxy S
  • Sistema operativo:
    Android 4.1.2
Re:Colori righe alternati ListView
« Risposta #3 il: 09 Aprile 2013, 10:40:18 CEST »
0
Il formato da passargli non è RGB, ma ARGB (dove A sta per Alpha, la trasparenza).

Se vuoi il rosso glielo imposti così:

Codice: [Seleziona]
view.setBackgroundColor(0xFFFF0000 );
Un click sul pulsante "Thanks" è sempre gradito :-)

Offline elia_90

  • Nuovo arrivato
  • *
  • Post: 27
  • Fletto i muscoli e sono nel vuoto -.-
  • Respect: 0
    • Mostra profilo
  • Sistema operativo:
    Windows 8, Mac OS X 10.8
Re:Colori righe alternati ListView
« Risposta #4 il: 09 Aprile 2013, 10:57:13 CEST »
0
il problema è che uso proprio quel metodo ma se metto direttamente il colore in formato esadecale o con il # non me li rileva o da errore...solo se gli passo un intero negativo rileva...come mai?

Offline s1m0

  • Utente junior
  • **
  • Post: 122
  • Respect: +14
    • Mostra profilo
  • Dispositivo Android:
    Samsung Galaxy S
  • Sistema operativo:
    Android 4.1.2
Re:Colori righe alternati ListView
« Risposta #5 il: 09 Aprile 2013, 11:03:00 CEST »
0
Riesci a postare il tuo Custom Adapter?
Un click sul pulsante "Thanks" è sempre gradito :-)

Offline Nicola_D

  • Moderatore
  • Utente storico
  • *****
  • Post: 2479
  • SBAGLIATO!
  • Respect: +323
    • Github
    • Google+
    • nicoladorigatti
    • Mostra profilo
  • Dispositivo Android:
    Nexus 6p, Nexus 4, Nexus S, Nexus 7(2012)
  • Sistema operativo:
    Windows 7
Re:Colori righe alternati ListView
« Risposta #6 il: 09 Aprile 2013, 11:06:05 CEST »
0
il problema è che uso proprio quel metodo ma se metto direttamente il colore in formato esadecale o con il # non me li rileva o da errore...solo se gli passo un intero negativo rileva...come mai?
cosa fai,gli dai la stringa "FFFF00"? devi dargli un valore numerico,
0xFFFF00 è una trasformazione da decimale a intero sostanzialmente
IMPORTANTE:NON RISPONDO A PROBLEMI VIA MESSAGGIO PRIVATO
LOGCAT: Non sai cos'è? -> Android Debug Bridge | Android Developers
               Dov'è in Eclipse? -> Window -> Open Prospective -> DDMS e guarda in basso!
[Obbligatorio] Logcat, questo sconosciuto! (Gruppo AndDev.it LOGTFO) - Android Developers Italia

Offline elia_90

  • Nuovo arrivato
  • *
  • Post: 27
  • Fletto i muscoli e sono nel vuoto -.-
  • Respect: 0
    • Mostra profilo
  • Sistema operativo:
    Windows 8, Mac OS X 10.8
Re:Colori righe alternati ListView
« Risposta #7 il: 09 Aprile 2013, 11:09:51 CEST »
0
nono non ho ancora raggiunto un tal livello di demenza per fortuna XD
gli passo il formato 0x ma comunque non me lo prende...stasera quando torno a casa posto il codice così avrete idee più chiare

Post unito: 10 Aprile 2013, 07:03:59 CEST
alla fine ho risolto con il metodo parseColor...grazie a tutti per le risposte :)
« Ultima modifica: 10 Aprile 2013, 07:03:59 CEST da elia_90, Reason: Merged DoublePost »

Offline elia_90

  • Nuovo arrivato
  • *
  • Post: 27
  • Fletto i muscoli e sono nel vuoto -.-
  • Respect: 0
    • Mostra profilo
  • Sistema operativo:
    Windows 8, Mac OS X 10.8
Re:Colori righe alternati ListView
« Risposta #8 il: 16 Aprile 2013, 20:14:48 CEST »
0
risolto con il metodo parseColor :)