Android: Machen Sie die Ansicht oben auf dem Listenansichts-Scroll zusammen mit der Listenansicht

8

Ich habe eine Listenansicht, die offensichtlich scrollbar ist. Die Listenansicht enthält einige Formularfragen. Sobald der Benutzer das Formular abschickt, setzen wir eine stempelähnliche benutzerdefinierte Ansicht auf die Listenansicht (und verhindern, dass der Benutzer Fragen beantwortet, aber das spielt hier keine Rolle).

Der Stempel sollte oben in der Listenansicht (wie oben auf dem Bildschirm) erscheinen und mit der gleichen Geschwindigkeit wie die Listenansicht scrollbar sein, dh er sollte verschwinden, wenn die Listenansichts-Elemente, die anfangs darunter waren, oben verschwinden der Bildschirm beim Scrollen.

Irgendeine Idee, wie man das erreicht?

    
Maria 30.10.2012, 12:15
quelle

2 Antworten

6

Ich habe eine Lösung gefunden. Nicht sicher, ob es zu elegant ist, aber es funktioniert so wird es verlassen, wenn jemand mit etwas besser kommt.

Die Ansicht, die ich zusammen mit der Liste scrollen möchte, ist eine benutzerdefinierte Ansicht, die etwas über die Listenansicht wissen muss. Also implementiere ich eine setListView (ListView listView) Methode:

%Vor%

Kommentar Nr.1: Dies ist eine Variable, die mir erlaubt, die aktuelle Bildlaufposition zu verfolgen.

Kommentar Nr. 2: Festlegen eines neuen Scroll-Listeners, um meine benutzerdefinierte Ansicht über die Liste zu informieren

Kommentar Nr.3: Dies muss in diesem Fall nicht implementiert werden.

Kommentar Nr. 4: Hier passiert Magie. Beachten Sie am Ende ich scroll meine Sicht von ScrollY - oldScrollY, lassen Sie mich zuerst mit diesem Bit beginnen. oldScrollY ist die gehaltene Bildlaufposition, scrollY ist die neue Bildlaufposition. Ich muss nach dem Unterschied zwischen ihnen scrollen. Was die Berechnung von scrollY betrifft, verweise ich auf meine Antwort hier: Android erhält die exakte Scroll-Position in ListView , so wird die Scroll-Position in der Listenansicht berechnet.

    
Maria 20.11.2012, 17:17
quelle
5

für die Ansicht des Top-Bildschirms können Sie HeaderView hinzufügen, also binden Sie Coustom Layout als Headerlayout von Listview..So haben Sie Scroll genauso wie Listview ...

%Vor%     
Sanket Kachhela 30.10.2012 12:20
quelle