Scrolling Probleme mit FlatList, wenn Zeilen variable Höhe haben

8

Ich verwende FlatList , wobei jede Zeile eine unterschiedliche Höhe haben kann (und möglicherweise eine Mischung aus Text und null oder mehr Bildern von einem entfernten Server enthält).

Ich kann getItemLayout nicht verwenden, weil ich die Höhe jeder Zeile (und der vorherigen) nicht kennen kann, um sie berechnen zu können.

Das Problem, mit dem ich konfrontiert bin, ist, dass ich nicht bis zum Ende der Liste blättern kann (es springt ein paar Zeilen zurück, wenn ich es versuche) und ich habe Probleme, scrollToIndex zu verwenden (ich vermute aufgrund die Tatsache, dass ich getItemLayout ) vermisse.

Ich habe ein Beispielprojekt geschrieben, um das Problem zu demonstrieren:

%Vor%     
Gilad Novik 30.04.2017, 17:14
quelle

2 Antworten

1

Was Sie also tun können und wofür Sie bereits verfügen, ist das Speichern einer Sammlung nach dem Index der Zeilenlayouts onLayout . Du solltest die Attribute speichern, die zurückgegeben von getItemLayout : {length: number, offset: number, index: number} .

Wenn Sie getItemLayout implementieren, übergibt einen Index Sie können das von Ihnen gespeicherte Layout zurückgeben. Dies sollte die Probleme mit scrollToIndex beheben. Habe das nicht getestet, aber das scheint der richtige Ansatz zu sein.

    
wmcbain 26.11.2017 16:34
quelle
0

Hast du scrollToEnd versucht?

Ссылка

Wie die Dokumentation sagt, kann es jacky ohne getItemLayout sein, aber für mich funktioniert es ohne es

    
ragamufin 02.10.2017 09:14
quelle