Gallery a layout fisso e flessibile in Power Apps
In Power Apps sono disponibili due tipi di gallery, a layout (o template) fisso e quello flessibile (o variabile).
I due tipi sono indicati nell'immagine seguente:Il tipo fisso prevede che il template che rappresenta il singolo item sia a dimensione fissa, quindi con la sua dimensione indipendente dal contenuto, ogni item avrà la stessa dimensione.
Al contrario il tipo flessibile (flexible) è in grado di adattare le dimensioni del suo template al contenuto.
Questo è come si presenta nelleditor, il template flexible non si adatta al contenuto finché non si va in run:
Per ottenere il corretto funzionamento del template flexible oltre a scegliere questo tipo di gallery, vanno anche posizionati gli elementi interni con delle formule.In pratica bisogna impostare gli elementi in modo che la loro posizione (Y) dipenda dagli elementi precedenti. Inoltre gli elementi con contenuto variabile (Body1) dovranno essere impostati con la proprietà Auto height impostata a on (true).Quindi avremo questa situazione, Title1 fisso:
Body1 dipende dall'altezza del Title1:
infine il rettangolo di separazione Separator1, la sua posizione Y dipende da Body1:
I due tipi sono indicati nell'immagine seguente:Il tipo fisso prevede che il template che rappresenta il singolo item sia a dimensione fissa, quindi con la sua dimensione indipendente dal contenuto, ogni item avrà la stessa dimensione.
Al contrario il tipo flessibile (flexible) è in grado di adattare le dimensioni del suo template al contenuto.
Le gallery con template fisso sono sia verticali che orizzontali, mentre quelle flexible sono solo verticali.
L'immagine seguente mostra un esempio pratico:A sinistra si vede il template a dimensione fissa, dove i testi vengono troncati (ho abilitato la scrollbar solo per evidenziare la dimensione del testo), mentre a desta invece, con il template flexible, l'altezza si adatta al contenuto.Questo è come si presenta nelleditor, il template flexible non si adatta al contenuto finché non si va in run:
Per ottenere il corretto funzionamento del template flexible oltre a scegliere questo tipo di gallery, vanno anche posizionati gli elementi interni con delle formule.In pratica bisogna impostare gli elementi in modo che la loro posizione (Y) dipenda dagli elementi precedenti. Inoltre gli elementi con contenuto variabile (Body1) dovranno essere impostati con la proprietà Auto height impostata a on (true).Quindi avremo questa situazione, Title1 fisso:
Power Apps
Title1.X = 32
Title1.Y = 16
Title1.width = Parent.TemplateWidth - 32
Title1.Height = Self.Size * 1.8
Power Apps
Body1.X = 32
Body1.Y = Title1.Y + Title1.Height + 16
Body1.width = Parent.TemplateWidth - 32
Body1.Height = Self.Size * 4
Bod1.AutoHeight = true
Power Apps
Separator1.X = 0
Separator1.Y = Body1.Y + Body1.Height + 16
Separator1.width = Parent.TemplateWidth
Separator1.Height = 1
Attenzione non è possibile passare da una gallery a tamplate fisso a una a template flessibile e viceversa. Se si sbaglia il tipo vanno rifatte completamente con il nuovo tipo.