Android ListView-Hintergrundfarbe zeigt immer Grau
Ich habe eine ListView, dass ich das Auffüllen aus einem benutzerdefinierten ListAdapter. Im inneren des Adapters (in der getView(int, Anzeigen, ViewGroup) Methode) ich bin Einstellung der Hintergrundfarbe des Ansicht mit setBackgroundColor(int). Das problem ist, dass egal welche Farbe ich den hintergrund, es kommt immer ein dunkles Grau. Es mag auch erwähnenswert sein, dass ich mit dem Thema Licht.
Relevante (vereinfachte) bits code:
AndroidManifest.xml:
<activity
android:name=".MyActivity"
android:theme="@android:style/Theme.Light" />
MyAdapter.java:
@Override
public View getView(int position, View convertView, ViewGroup parent) {
LayoutInflater inflater = LayoutInflater.from(mContext);
View av = inflater.inflate(R.layout.my_row, parent, false);
av.setBackgroundColor(R.color.myRow_red);
mName = (TextView) av.findViewById(R.id.myRow_name);
mName.setText("This is a name");
return av;
}
Irgendwelche Ideen/Vorschläge?
InformationsquelleAutor Jeremy Logan | 2009-09-09
Schreibe einen Kommentar Antworten abbrechen
Du musst angemeldet sein, um einen Kommentar abzugeben.
Sollten Sie verwenden:
setBackgroundResource(R.color.myRow_red)
statt
setBackgroundColor()
. In deinem Beispiel Hintergrundfarbe zugeordnet ist, mit der ID anstelle der eigentlichen Farbe beschrieben in den Ressourcen.Ich habe eine ähnliche situation, aber ich kann nicht verwenden diese Lösung für Formen. Ich habe gefragt, eine weitere eine ausführliche Frage hier: stackoverflow.com/questions/39820240/...
InformationsquelleAutor Max Feldman
Müssen Sie die cacheColorHint-Attribut, um die gewünschte Hintergrundfarbe für die Liste. Dies ist eine erforderliche Abhilfe, um die Rechnung für eine Zeichnung-Optimierung von Android führt auf Listen.
Siehe hier: link-text
midj: das ist eigentlich nicht wahr, in meinem Fall, die Sie gerade sehen, eine super-Vereinfachtes Beispiel.
also, was ist dein problem dann? Nicht die Deaktivierung des color-cache helfen?
InformationsquelleAutor Matthias
Ich lief in ein ähnliches problem, wo der Teiler kam bis Grau. Ich fand, dass die anderen Lösungen keinen Effekt hatte, aber
android:divider="<drawable,color, or whatever>"
auf meineListView
gearbeitet.InformationsquelleAutor Alex
Kalt immer wickeln die gesamte Zeile in eine andere Ansicht und legen Sie die Hintergrundfarbe für diese Sicht. Diese Ansicht wäre der erste (und einzige) Kind an der Reihe.
InformationsquelleAutor Vidar Vestnes
Versuchen, dies so tun:
InformationsquelleAutor Rodrigo
versuchen Sie dies:
InformationsquelleAutor Laces