Autor Téma: Android a tFlowLayout  (Přečteno 76 krát)

Offline delfin

  • Nováček
  • *
  • Příspěvků: 1
  • Karma: 0
    • Verze Delphi: 10.3.3
Android a tFlowLayout
« kdy: 23-03-2020, 23:14:37 »
Ahoj,

tvořím svou první aplikaci ve FireMonkey a vůbec je to má první zkušenost s Delphi, takže předně prosím o shovívavost.
Snažím se o to, aby se formulář alespoň částečně přizpůsoboval obrazovce (alespoň přeskládání prvků při zobrazení na výšku a na šířku).

Strukturu mám zhruba takovou:

Citace
Form
|-- FlowLayout (align=Contents)
    |-- Layout1 (align=Top)
         |-- Button (align=Center)
    |-- Layout2 (align=Bottom)
         |-- ListView (align=Client)

Přičemž návrh dělám na výšku (velikost formuláře 854x480 px, 16:9). Když výslednou aplikaci spustím na Windows, není problém. Spustí se "na výšku", když při běhu ručně změním velikost okna na proporce "na šířku", obsah Layout1 zůstane správně na levé straně a obsah Layout2 se přemístí vpravo vedle Layout1.
Když aplikaci spustím na Androidu, mám jeden zásadní problém. Přítomnost tFlowLayout způsobuje, že všechny vnořené prvky přestanou respektovat poměr stran obrazovky mobilu. Ty dnešní mobily už začínají být větší nudle, než je 16:9 (v mém případě 18:9). Když tam tFlowLayout vůbec nedám, tlačítko je přesně vystředěné, a obsah ListView je celý. Když tam dám tFlowLayout, tak všechny prvky přebírají poměr stran 16:9 (stanovený jako velikost formuláře), místo poměru stran zařízení, na kterém aplikace běží. To způsobí, že ListView je zprava useknuté a tlačítko není uprostřed, ale mnohem víc napravo. Když mobil otočím na šířku, obsah Layout2 je kdesi mimo obrazovku, takže ani nevím, zda se přemístil nebo ne.

Poradili byste mi, prosím, jak to vyřešit? Nebo znáte lepší řešení než pomocí tFlowLayout?
Děkuji.

Offline Stanislav Hruška

  • Padawan
  • ******
  • Příspěvků: 4715
  • Karma: 41
    • Verze Delphi: XE7 professional
Re:Android a tFlowLayout
« Odpověď #1 kdy: 24-03-2020, 08:55:30 »
Excellent
Rated 1 time
OT: prosím Ťa, zmeň si svoju prezývku. Taká prezývka tu už bola a neskončilo to dobre. Nech nie sú problémy a nemýliš ľudí. Ďakujem.
Delphi XE7, FireBird
Expert na kladenie nejasne formulovaných otázok.

Offline Radek Červinka

  • Administrátoři
  • Padawan
  • *****
  • Příspěvků: 2476
  • Karma: 103
    • Verze Delphi: D5,D2007, DXE, DXE2 + 2 poslední (Tokyo)
    • O Delphi v češtině
Re:Android a tFlowLayout
« Odpověď #2 kdy: 24-03-2020, 10:24:22 »
Nestačí ti normálně Layout a Align = Contents, případně koukni do
C:\Users\Public\Documents\Embarcadero\Studio\20.0\Samples\Object Pascal
a tam do MobileSnipets nebo Multi Device Samples
Embarcadero MVP - Czech republic