Italian Autoscale - come funziona?

cirollo

Active Member
Licensed User
Longtime User
Buongiorno a tutti,

nel corso degli anni ho fatto vari tentativi ma non sono mai riuscito a capire come funziona.....e puntualmente devo adattare le form alle varie risoluzioni....

qualcuno mi può spiegare in maniera semplice come funziona?

ps ricordo di aver creato le form al variant più piccolo e di aver messo autoscale all da qualche parte, ma non ha mai funzionato!

grazie
 

udg

Expert
Licensed User
Longtime User
Autoscale All non fa altro che ingrandire (di poco) le view, quindi da solo non serve per il tuo scopo.
La strada principale è quella di utilizzare le Anchors e un po' di script nell'apposita sezione del Designer.
Personalmente (vecchia abitudine) imposto sempre un pannello di fondo (pnlbck) che copra il 100% dello spazio, su questo aggiungo altri pannelli o view (es. pnlHeader, pnlContent, pnlFooter, ciascuno con le sue view). Se gestisci le relazioni tra i pannelli tramite le Anchors oppure da codice (tipo plnlABC. top = pnlDEF.bottom + 5dip), otterrai schemi adattabili in automatico alla gran parte dei device. Per quelli extra size (es. tablet) puoi attivare una Variant.
Idem per portrait/landscape ove ne ricorresse la necessità.
 
Last edited:

cirollo

Active Member
Licensed User
Longtime User
purtroppo mi trovo in una situazione dove il cliente è passato da un samsung 10" 1280x800 160dpi ad un huawei 9,6" sempre 1280x800 ma 157dpi

è una bella scocciatura.....
 

udg

Expert
Licensed User
Longtime User
Si tratta di layout molto complessi? Fai uso di CustomView? Vuoi provare a pubblicare qui uno dei tuoi *.bal file e vedere se qualcuno riesce ad esserti utile?
Come dice sempre LucaMs..quanto sarebbe bello se i produttori hw si accordassero su un formato unico!
 

cirollo

Active Member
Licensed User
Longtime User
ecco uno dei bal....
 

Attachments

  • articolo.bal
    19.7 KB · Views: 293

udg

Expert
Licensed User
Longtime User
Prova a dare un'occhiata a questa versione (ho dovuto eliminare i riferimenti alle immagini che ovviamente non avevo).
L'idea è che i 3 pannelli principali si "sistemano" da soli grazie alle Anchors; internamente a ciascuno le varie View fanno la stesas cosa (non le ho sistemate tutte, ma dovresti avere un'idea generale).
 

Attachments

  • art2.bal
    20.8 KB · Views: 312

LucaMs

Expert
Licensed User
Longtime User
Come dice sempre LucaMs..quanto sarebbe bello se i produttori hw si accordassero su un formato unico!
Che bello essere citati (non in giudizio ), mi sento quasi Dante, altrettanto vivo

purtroppo mi trovo in una situazione dove il cliente è passato da un samsung 10" 1280x800 160dpi ad un huawei 9,6" sempre 1280x800 ma 157dpi
Sei gia fortunatissimo, visto che non solo il rapporto base/altezza è il medesimo ma anche le due dimensioni in pixel (1280x800 entrambi i dispositivi) - oltre ad essere fortunato ad avere un cliente .

Credo (mai essere troppo sicuri, con la grafica ) che nel tuo caso dovrebbe essere sufficiente proprio AutoScaleAll, impostando, come hai fatto, il variant a 1280x800, scale 1 e sistemare le cose come ha detto @udg, usando gli anchor e qualche riga di script.

Dovendo invece adattare il layout su dispositivi con ratio diversa, ad es. 1280x600, i problemi sarebbero molti di più; per non parlare di casi in cui dovessi disegnare il layout sia su tablet che su smartphone (in questi casi conviene creare proprio due tipi di interfacce utente differenti, ad esempio usare due pannelli da visualizzare alternativamente su smartphone e affiancati se su tablet).
 

udg

Expert
Licensed User
Longtime User
Ciao, mi scuso se ieri ho imbastito un po' troppo velocemente la mia proposta (e pure in fase digestiva eheh).
Qui la stessa proposta migliorata.
In generale, citando nuovamente LucaMs, le differenze tra i due device di cui parli non sembrano tali da creare grandi differenze, quindi dovresti davvero cavartela con poco.
 

Attachments

  • art4.bal
    21.5 KB · Views: 304
Cookies are required to use this site. You must accept them to continue using the site. Learn more…