Italian Proporzionalità

CenzoWM

New Member
Salve, ho cercato sul web notizie o guide sulla proporzionalità del layout ma non ho trovato niente. Sto sviluppando un progetto e non riesco a capire come fare ad avere la stessa dimensione qualsiasi telefono si usi. Come faccio?:(
 

Giovanni Passali

Member
Licensed User
Longtime User
Devi usare il Designer e nella scheda Designer script usare istruzioni del tipo
B4X:
ImageView1.Width=50%x
ImageView1.HorizontalCenter=50%x
per esempio, per centrare un controllo e mantenerlo grande la metà del contenitore.
 

LucaMs

Expert
Licensed User
Longtime User
Devi usare il Designer e nella scheda Designer script usare istruzioni del tipo
B4X:
ImageView1.Width=50%x
ImageView1.HorizontalCenter=50%x
per esempio, per centrare un controllo e mantenerlo grande la metà del contenitore.

Giusto, ma purtroppo non è mai così semplice.
Se ad esempio usi il variant di default 320x480, ci metti una imageview di una certa dimensione con una immagine e usi le percentuali, quando l'app girerà su un display da 10" l'immagine verrà "sgranata".
 

androidappl

Active Member
Licensed User
Longtime User
Giusto, ma purtroppo non è mai così semplice.
Se ad esempio usi il variant di default 320x480, ci metti una imageview di una certa dimensione con una immagine e usi le percentuali, quando l'app girerà su un display da 10" l'immagine verrà "sgranata".

Ciao,
Puoi benissimo caricare un immagine di dimensioni superiori quando le dimensioni dello schermo supera la dimensione da te imposta.
E hai risolto. oppure imposti
Questo pezzo di codice qua sotto semplicemente ti crea un pannello che ricopre tutto lo schermo del designer. Potresti anche usare le varianti per il ridimensionamento ma è sconsigliato siccome android a un infinità di smartphone a dimensioni diverse.....
B4X:
panel1.width = 100%x
panel1.height = 100%y
panel1.left = 0%x
 

LucaMs

Expert
Licensed User
Longtime User
Puoi benissimo caricare un immagine di dimensioni superiori quando le dimensioni dello schermo supera la dimensione da te imposta.
E hai risolto

Eh, magari. Purtroppo le immagini perdono qualità anche nel senso inverso. Non per niente sono previste quelle famigerate cartelle per le diverse risoluzioni.
 

CenzoWM

New Member
Di che manuali parli?
Devi usare il Designer e nella scheda Designer script usare istruzioni del tipo
B4X:
ImageView1.Width=50%x
ImageView1.HorizontalCenter=50%x
per esempio, per centrare un controllo e mantenerlo grande la metà del contenitore.
Ciao,
Puoi benissimo caricare un immagine di dimensioni superiori quando le dimensioni dello schermo supera la dimensione da te imposta.
E hai risolto. oppure imposti
Questo pezzo di codice qua sotto semplicemente ti crea un pannello che ricopre tutto lo schermo del designer. Potresti anche usare le varianti per il ridimensionamento ma è sconsigliato siccome android a un infinità di smartphone a dimensioni diverse.....
B4X:
panel1.width = 100%x
panel1.height = 100%y
panel1.left = 0%x
Insomma ragazzi, è un bel casotto a quanto pare! Una strada ottimale non è stata tracciata per quanto ho capito!
 

sirjo66

Well-Known Member
Licensed User
Longtime User
Salve, ho cercato sul web notizie o guide sulla proporzionalità del layout ma non ho trovato niente. Sto sviluppando un progetto e non riesco a capire come fare ad avere la stessa dimensione qualsiasi telefono si usi. Come faccio?:(

Praticamente è impossibile !!
Puoi avere un buon risultato sul 90% dei telefoni, ma trovi sempre quello che sballa.
Ho installato un programma fatto da Erel su un LG e un checkbox e un textbox che dovevano essere sulla parte bassa dello schermo praticamente venivano tagliati e non si vedevano.

Diciamo che per ora la cosa migliore è fare il layout con la variante "320x480 (160 dpi)" (che è quella di default) e poi usare il comando AutoScaleAll nel "designer scripts".

Nelle ultime versioni di B4A questo avviene già in modo automatico, non devi fare nulla

Sergio
 

LucaMs

Expert
Licensed User
Longtime User
Non sono molto daccordo.
Partire col layout di base, 320x480: oramai tutti i dispositivi hanno risoluzioni maggiori.

Il maggior esperto in questo campo è Klaus; se cercate sul sito, troverete una sua "regola generale" (ovviamente anche questa non può essere assoluta).

Se non sbaglio, ha scritto anche qui nel forum italiano qualcosa al riguardo.
 

CenzoWM

New Member
Praticamente è impossibile !!
Puoi avere un buon risultato sul 90% dei telefoni, ma trovi sempre quello che sballa.
Ho installato un programma fatto da Erel su un LG e un checkbox e un textbox che dovevano essere sulla parte bassa dello schermo praticamente venivano tagliati e non si vedevano.

Diciamo che per ora la cosa migliore è fare il layout con la variante "320x480 (160 dpi)" (che è quella di default) e poi usare il comando AutoScaleAll nel "designer scripts".

Nelle ultime versioni di B4A questo avviene già in modo automatico, non devi fare nulla

Sergio
No, ormai non conviene....
Non sono molto daccordo.
Partire col layout di base, 320x480: oramai tutti i dispositivi hanno risoluzioni maggiori.

Il maggior esperto in questo campo è Klaus; se cercate sul sito, troverete una sua "regola generale" (ovviamente anche questa non può essere assoluta).

Se non sbaglio, ha scritto anche qui nel forum italiano qualcosa al riguardo.
Ha scritto una guida?
 

LucaMs

Expert
Licensed User
Longtime User
No, ha risposto molte volte a domande circa la grafica e, in alcune di queste, una specie di sommario delle cose da fare/prendere in considerazione per adattarla al meglio sui vari dispositivi.

Probabilmente anche sul forum italiano.

Poi faccio una ricerca, vediamo se ritrovo quei post e ti metto i link.


[P.S. Come non detto, ha scritto anche un tutorial - pdf in inglese]
 
Last edited:
Top