Italian Strumento per il calcolo veloce di SetLayout.

anallie0

Active Member
Licensed User
Longtime User
Ciao
ho scritto questo programma in excel per calcolare in una volta sola le 4 variabili di SetLayout per la gestione della risoluzione.
Una volta inserito le misure e le distanze dell'oggetto lette dal Designer, premere il pulsante e vi troverete la stringa completa nella clipboard. Non vi resta che scrivere il nome dell'oggetto e premere Ctrl+V.

:)
 

Attachments

  • SetLayout.zip
    10 KB · Views: 252

AlpVir

Well-Known Member
Licensed User
Longtime User
Poichò io odio Excel mi son permesso di riprendere l'ottima idea di anallie0 ed ho riscritto la piccola utility con il VB6.
Con qualche vantaggio, a mio parere (minore occupazione di spazio sullo schermo, minore occupazione di memoria, qualche cura in più nella gestione della tastiera e dei caratteri accettati).
Spero che anallie0 non si offenda.
Saluti a tutti
 

Attachments

  • SetLayout_VB6.zip
    7.7 KB · Views: 252

anallie0

Active Member
Licensed User
Longtime User
Ottima idea AlpVir, avrei voluto farlo io ma da quando i ladri si sono fatti vivi in casa non ho più visualstudio ne il pc in cui era installato.
Grazie per aver provveduto. :)
 

AlpVir

Well-Known Member
Licensed User
Longtime User
Per me è stato facilissimo visto che avevo acquistato a Porta Palazzo un computer con già installato visual studio e diversi progetti già belli e fatti, tra cui questo. Era tuo il computer ? :sign0060:
 

giannimaione

Well-Known Member
Licensed User
Longtime User
Per me è stato facilissimo visto che avevo acquistato a Porta Palazzo un computer con già installato visual studio e diversi progetti già belli e fatti, tra cui questo. Era tuo il computer ? :sign0060:
LOL
 

klaus

Expert
Licensed User
Longtime User
Hi AlpVir,
I had a look at your application to calculate layout values.
I have following comments:
- You should take into account that 100%y is not always equal to the full height of the screen.
It depends on the available part of the screen, on the Full Size and Include Title properties so 100%y can be 800, 762 or 724 pixels in portrait mode for WVGA800
For example WVGA800 100%y = 724 pixels and 800. In your calculation 400 pixels gives 50%y.
- A choice of portrait and landscape could be interesting.
- Left and Top values representing less that 1% give Error 0, shouldn't it be simply a 0 in the layout.

These are just comments trying to improve your program.

Best regards.
 

timo

Active Member
Licensed User
Longtime User
Questo genera il codice B4A (exe VB6). Give it a try.
 

Attachments

  • SetLayout.jpg
    SetLayout.jpg
    73 KB · Views: 276
  • SetLayout.zip
    20 KB · Views: 229
Last edited:

AlpVir

Well-Known Member
Licensed User
Longtime User
Ubi major minor cessat !
Il progetto di Timo ha una marcia in più; ho comunque modificato/aggiornato il mio (SetupLayout_mini) che allego, giovandomi di qualche consiglio di Klaus che ringrazio.
 

Attachments

  • SetLayout_mini.zip
    9.2 KB · Views: 195
Last edited:

AlpVir

Well-Known Member
Licensed User
Longtime User
Ho provato a scaricare il tuo ultimo, ma mi da errore di runtime 53
Chiedo scusa; mancava il file TXT di configurazione. Adesso dovrebbe andare.
Resto però dell'opinione che il progetto di Timo è più utile, anche se potrebbe essere ancora migliorato.
 
D

Deleted member 103

Guest
Ciao ragazzi,

anche io ho scritto un piccolo programma, provate e dite se va bene.


Ciao,
Filippo
 

Attachments

  • fg-B4ASetLayout.jpg
    fg-B4ASetLayout.jpg
    44 KB · Views: 259
  • fgB4ASetLayout.zip
    11.1 KB · Views: 225
Last edited by a moderator:

timo

Active Member
Licensed User
Longtime User
Ciao Filippo. Sono un po' preso con altre cose, quindi ho solo guardato l'immagine (lo scarico tra qualche giorno). Solo una cosa: dato che trasformi in percentuale di x e y mi sembra limitato alla activity, non ad un pannello contenitore, o sbaglio? (sbirciata affrettata...).Ciao
 

coslad

Well-Known Member
Licensed User
Longtime User
Salve a tutti,
Sto utilizzando il programma messo a disposizione da timo con ottimi risultati.
L' unico neo però è che il testo delle label non viene adattato, per cui se ho una label con diverse linee di testo accade che facendo girare il programma su un dispositivo tipo S3 ( avendolo sviluppato su s2) rimane un fastidioso spazio fra la label in questione e la view sottostante,questo perchè sull' s3 la label occupa meno spazio in verticale.
Bisognerebbe calcolare anche un aumento del font.
Mi potete aiutare?
Grazie

Inviato dal mio GT-P7510 con Tapatalk 2
 

ivanomonti

Expert
Licensed User
Longtime User
Questo genera il codice B4A (exe VB6). Give it a try.

Ciao Massimo e a tutta la lista, forse mi avete risolto un problema grande (sperodi si al 100%) possibile capire bene come usarlo...

esempio mi 5 button

nell'interfacia scrivo i bottoni, le coordina left e top + Widht e Height dopo di che il software mi crea un metodo che a siua volta deve essere lanciato al open dell'activity

Confermi.

Grazie Ivano Monti
 

ivanomonti

Expert
Licensed User
Longtime User
Ciao Massimo e a tutta la lista, forse mi avete risolto un problema grande (sperodi si al 100%) possibile capire bene come usarlo...

esempio mi 5 button

nell'interfacia scrivo i bottoni, le coordina left e top + Widht e Height dopo di che il software mi crea un metodo che a siua volta deve essere lanciato al open dell'activity

Confermi.

Grazie Ivano Monti

Altro problema io non ho messo nulla all'interno del container, è un mio errore in quanto e meglio farlo o posso inerire le dimensioni 320x480 che B4A mi da di default.

Altra cosa io ho un Galaxy sII come posso crearmi una macchina virtuale o un form con l'esatte dimensioni del mio schermo che se non erro e 480x800!

Grazie ancora.
 

ivanomonti

Expert
Licensed User
Longtime User
Ciao ragazzi,

anche io ho scritto un piccolo programma, provate e dite se va bene.


Ciao,
Filippo

Ciao Filippo, oggi sto provando tutti i vostri tools, ma nessuno ha una spiegazione completa per i neofita o profano.

1) setlayout 10dip,20dip come si usano, ad esempio B4A mi da una forma

320 x 480, scale = 1 (160 dpi)

2) il codice che mi generi dove lo devo inserire o richiamare in;

Sub Activity_Create(FirstTime As Boolean)

End sub

Grazie anticipato per la gentile risposta, cordialmente Ivano Monti.
 

ivanomonti

Expert
Licensed User
Longtime User
Codice nativo setlayout

Allora mi sono riscritto un codice che credo sia più semplice in quanto nativo, possibile creare una classe e richiamare il codice passando il pannello che contiene i relativi oggetti.

Ma ho un problema che non ho capito (dip) testando i vari codici generati dai vostri tool trovo le dimensioni del pannello ma nessuno che si riferisce a dip, basandomi sul codice visto in excel ho scritto quanto segue, ma mi chiedevo il valore 100 e dip o ...

B4X:
Sub settingLayout

Dim xleft, xtop, xwidth, xheight

For i = 0 To Panel1.NumberOfViews-1
   xleft = Panel1.GetView(i).Left * 100 / Panel1.Height
   xtop = Panel1.GetView(i).Top * 100 / Panel1.Width
   xwidth = Panel1.GetView(i).Width * 100 / Panel1.Height
   xheight = Panel1.GetView(i).Height * 100 / Panel1.Height
   Panel1.GetView(i).SetLayout(xleft,xtop,xwidth,xheight)
Next

End Sub

chi mi conferma, perchè questo codice funziona, solo che se lo uso sul galaxy diventa piccolo al 10% ma in tutto in modo porporzionato.
 
Top