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: Schwebender Button über einer TListBox (https://www.delphipraxis.net/211373-fmx-schwebender-button-ueber-einer-tlistbox.html)

amigage 6. Sep 2022 14:31

FMX: Schwebender Button über einer TListBox
 
Liste der Anhänge anzeigen (Anzahl: 2)
Hallo,

wie der Betreff bereits aussagt, versuche ich eine "schwebende" Schaltfläche am unteren Ende über einer TListBox zu platzieren (so wie auf mobilen Geräten üblich).
Die Platzierung funktioniert (siehe Quellcode), jedoch wenn man scrollt, scrollt die Schaltfläche mit (siehe Screenshot), obwohl demTLayout ein Align = Bottom zugewiesen wurde.

Hat jemand einen Tipp? Oder gibt es eine spezielle Komponente, die ich übersehen habe?

Danke.

Sherlock 6. Sep 2022 14:48

AW: FMX: Schwebender Button über einer TListBox
 
Schau halt, daß Du den Parent korrekt setzt. Also quasi auf ein Panel hinter der ListBox.

Sherlock

Rollo62 6. Sep 2022 15:29

AW: FMX: Schwebender Button über einer TListBox
 
Vielleicht ist TFrameStand was für Dich ?
https://www.youtube.com/watch?v=Z6_ZvnCmFCw

Da sind ein paar schöne Beispiele dabei, ich glaube MaterialButton war das was Deiner Frage am nächsten kommt.

Ansonsten könntest Du auch mal versuchen das Layout auf TAlignLayout.Content zu stellen und darin dann den Button unten rechts zu platzieren.
Dabei musst Du mal mit HitTest rumspielen, ich denke das Layout.HitTest := False muss damit Du deine Listbox noch ancklicken kannst.

amigage 6. Sep 2022 16:07

AW: FMX: Schwebender Button über einer TListBox
 
Liste der Anhänge anzeigen (Anzahl: 1)
Danke für eure Antworten.

Zitat:

Schau halt, daß Du den Parent korrekt setzt. Also quasi auf ein Panel hinter der ListBox.
Damit liegt der Button aber nicht mehr über der TListBox, sondern unter ihr (Align := Bottom).

Der Ansatz hat mir aber weitergeholfen. Das TLayout habe ich entfernt und der runde Button (TRectangle) mit Align = None wird bei OnShow() am unteren Rand platziert.

Für den es interessiert lege ich den Quellcode bei.

Sherlock 7. Sep 2022 09:09

AW: FMX: Schwebender Button über einer TListBox
 
Das Alignment muss man natürlich anpassen. Prima gemacht.

Sherlock


Alle Zeitangaben in WEZ +1. Es ist jetzt 23:39 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