2015-11-25 11 views
5

Ich arbeite daran, meine Fähigkeiten RecyclerView und CardView zu verbessern, da ich neu bin.Cardview - Setze verschiedene Hintergrundfarben für jedes Element

Ich habe ein CardView Layout und RecyclerView Layout und dann Layout Manager und View-Adapter, Minimum, das die App zu bekommen suchen, wie dies erforderlich ist -

http://i.stack.imgur.com/DZzNi.jpg

Was will ich tun - ich verschiedene Hintergrundfarben für jedes Element wünschen. Zum Beispiel - Rot für "Froyo", Amber "Lebkuchen" und so auf.

Irgendwie kann ich es tun?

Auch möchte ich Elemente getrennt durch 1dp

Danke

Antwort

10

Ja Sie tun können, dass in RecyclerViews onBindViewHolder Methode durch seine Position auf jeder Karte bezieht.

public void onBindViewHolder(MyViewHolder holder, int position) { 
    if(position==1) 
     holder.view.setBackgroundColor(Color.RED); 
    else if(position==2) 
     holder.view.setBackgroundColor(Color.parseColor("#amberColorCode")); //and so on.. 
} 

hier view ist Ihr TextView oder jede andere Ansicht, die Sie verwenden, als RecyclerView Reihe Artikel.

+0

Ihnen sehr danken. das funktioniert. –

+0

Kannst du mir auch sagen, wie man Elemente trennt? –

+0

Ich verstehe nicht, was Sie mit separaten Elementen meinen? Bitte aktualisieren Sie die Frage mit Ihrem Code und erarbeiten Sie Ihre eigenen Punkte. –

1

Für Trennelement meiner 1 Dichte Pixel. ändern Sie bitte Ihre widget.Card Ansicht und den erforderlichen Speicherplatz in Ihrem relativen Layout angeben [ändern widget.card Ansicht entsprechend] https://i.stack.imgur.com/nSJ7W.png

+1

Bitte schreiben Sie den Code mit 4 Leerzeichen, so dass es hier erscheint – martianwars