Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   GUI-Design mit VCL / FireMonkey / Common Controls (https://www.delphipraxis.net/18-gui-design-mit-vcl-firemonkey-common-controls/)
-   -   FMX: Suche nach Listenkomponente, um Grafiken schnell zu laden (https://www.delphipraxis.net/213161-fmx-suche-nach-listenkomponente-um-grafiken-schnell-zu-laden.html)

amigage 7. Jun 2023 11:07

FMX: Suche nach Listenkomponente, um Grafiken schnell zu laden
 
Hallo,

ich möchte zweispaltig, sagen wir einmal 500 Thumbnail Fotos laden und darunter jeweils einen Text anzeigen, z.B. den Namen des Fotos.
Und das Laden und Anzeigen der Daten soll so erfolgen, dass das mobile Gerät nicht hängen bleibt und Android z.B. eine Wartewarnung ausgibt.

Bisher habe ich folgende Komponenten probiert:

TListView:
Das Laden der Fotos geht flott. Nachteil, keine Mehrspaltigkeit.

TListbox:
ist mehrspaltig, das Laden von 500 Fotos erfolgt in einem Rutsch.
Aber auch mit Begin/EndUpdate dauert das Laden sehr lange (6x länger als TListBox).

TGrid mit TImageColumn:
ist mehrspaltig, das Anzeigen der Fotos erfolgt flott, und erst beim Scrollen werden die anderen Fotos nachgeladen.
Nachteil: die Fotos werden über OnDrawColumnCell oder OnGetValue immer wieder neu geladen/gezeichnet. Das bremst dann wiederum das schnelle Scrollen auf mobilen Geräten.

Meine Frage:
gibt es einen Trick bei TGrid oder eine Komponente, die einmal geladene/gezeichnete Daten nicht nochmals lädt.
Meines Erachtens wurde in einem Embarcadero Video auf eine Listen-Komponente hingewiesen, die Daten nur bei Bedarf nachlädt und bestehende nicht neu zeichnet. Ich weiß aber nicht mehr, wie die sich nennt...

Vielen Dank für einen Tipp. :roll:

Rollo62 7. Jun 2023 13:45

AW: FMX: Suche nach Listenkomponente, um Grafiken schnell zu laden
 
Auf jeden Fall was mit TListView oder einer ScrollBox und eigenem Layout.
Ich würde das auch so machen, dass die Bilder im Hintergrund nachgeladen werden, damit schnell eine Anzeige kommt.
Außerdem würde ich die Anzeige begrenzen, z.B. auf 2-3 Seiten.
Es gibt auch das PullToRefresh, damit habe ich aber noch nicht wirklich was Produktives gemacht, nur ein paar Tests.

ListBox ist im Vergleich zu lahm und zu starr, die ist eher für klein,e feste Anzahl von Items ausgelegt.

TurboMagic 8. Jun 2023 11:50

AW: FMX: Suche nach Listenkomponente, um Grafiken schnell zu laden
 
Kann man nicht für TListView ein eigenes Layout anlegen?
Ich glaube mich zu erinnern, dass das für eine der mitgelieferten FMX Listkomponenten geht.
Schonb mal im Formular Designer rechts Klick drarauf gemacht und geschaut, was dort angeboten wird?

himitsu 8. Jun 2023 13:03

AW: FMX: Suche nach Listenkomponente, um Grafiken schnell zu laden
 
Ja, ich weiß zwar grade nicht ob ListBox oder ListView (vermutlich Letzteres), aber da mann man im Designer die Items zusammenklicken.


Alle Zeitangaben in WEZ +1. Es ist jetzt 06:25 Uhr.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz