Unterschiedliche Z-Position für ListView-Elemente

9

Ist es möglich, dass Elemente in einem ListView eine andere z-Position / einen anderen Index haben?

Ich möchte, dass ein Element in meiner ListView immer über anderen Ansichten in meinem Layout steht.

Siehe meine Illustration hier:

Die rote Leiste ist eine andere Ansicht außerhalb der ListView (in meinem Fall eine vertikale Suchleiste).

Ich habe versucht, View.bringToFront() für ein bestimmtes Element aufzurufen, aber das hat überhaupt nicht funktioniert.

Irgendwelche Ideen?

    
user2333243 29.04.2013, 18:38
quelle

1 Antwort

1

So würde ich den gewünschten Effekt erzielen:

Jedes Element in der Liste sollte einen roten Balken enthalten, der die Höhe des Elements darstellt. Auf diese Weise sehen alle roten Balken so aus, dass es aussieht, als gäbe es nur einen roten Balken, obwohl es tatsächlich einen pro Punkt gibt.

Wenn Sie FrameLayout verwenden, bestimmt die Reihenfolge der untergeordneten Elemente die Zeichenreihenfolge. Beispielsweise wird das dritte untergeordnete Element eines FrameLayout über dem ersten und zweiten untergeordneten Element angezeigt.

Dann können Sie zur Laufzeit den roten Balken über oder unter dem Inhalt eines jeden Elements anordnen. In der Methode bindView Ihres Adapters können Sie die Methode bringToFront verwenden, um den roten Balken für diese Ansicht nach vorne zu bringen. Vergessen Sie nicht, dass Ansichten in ListView wiederverwendet werden. Daher müssen Sie den roten Balken jedes Mal verschieben, um die z-Position zu korrigieren.

Hier ist eine sehr abgespeckte XML-Beispieldatei für ein Element in der Ansicht, lassen Sie mich wissen, wenn Sie weitere Informationen benötigen.

item_red_bar_bottom.xml:

%Vor%     
satur9nine 02.06.2013 02:24
quelle