grazie @sirjo66 della rispostaho provato a modificare glil anchor delle 20 imageview e a me sembra funzionare.
ho messo anchor sinistra-destra-sopra
ecco il risultato:
provato ora con quel codice ma...'All variants script
AutoScaleAll
PnlConView.HorizontalCenter = 50%x
Io ti ho solo suggerito come centrare il pannello che contiene le ImageView, non queste nel pannello, perché avevo letto soltanto:a me non sembrano centrati le icone sul panel
ma sul mio telefono sono spostate a sinistra, cioè c'è piu' spazio a destra delle icone
L'ho scaricato, modificato leggermente il layout, in modo che abbia 20 button, 5 righe x 4 colonne come nel tuo caso, ed effettivamente si posizionano bene (ed anche in B4J... provare).C'è una "novità" creata da Erel: DSE Designer Script Extensions. Uno degli esempi credo faccia proprio al caso tuo (non l'ho provato, nemmeno installato).
Come non detto (colpa della fretta). Quello va bene per posizionare le View (i Button, in questo caso) ma non ne conserva la forma quadrata.L'ho scaricato, modificato leggermente il layout, in modo che abbia 20 button, 5 righe x 4 colonne come nel tuo caso, ed effettivamente si posizionano bene (ed anche in B4J... provare).
Ovviamente non sono stato lì a cambiare i Text dei button!
Non va bene, così ottieni soltanto che la colonna di destra avrà sempre la stessa distanza dal bordo destro del pannello, ma a seconda della larghezza di quest'ultimo, sarà più o meno distante dalla penultima colonna di view.ti dico quello che ho fatto io: ho selezionato tutte e 20 le imageview e poi ho selezionato l'ancoraggio destra-sinistra, come nella immagine qui di seguito
'All variants script
AutoScaleAll
spazio = (PnlConView.Width - ImageView1.Width * 4) / 2
'prima riga
ImageView1.Left = spazio
ImageView2.Left = ImageView1.Right
ImageView3.Left = ImageView2.Right
ImageView4.Left = ImageView3.Right
'seconda riga
ImageView5.Left = spazio
ImageView6.Left = ImageView5.Right
ImageView7.Left = ImageView6.Right
ImageView8.Left = ImageView7.Right
'terza riga
'...
'...
Si in questo modo mi funziona benissimo tyCmq, un modo semplice e veloce, ma dipende se a te vada bene il risultato finale, è semplicemente di disancorare entrambi i bordi del pannello, lasciare solo l'ancoraggio di default sinistro, e scrivere quel:
PnlConView.HorizontalCenter = 50%x
grazie @Filippo provo anche la tua soluzione..Prova a scrivere una cosa del genere nello scritpt:
B4X:'All variants script AutoScaleAll spazio = (PnlConView.Width - ImageView1.Width * 4) / 2 'prima riga ImageView1.Left = spazio ImageView2.Left = ImageView1.Right ImageView3.Left = ImageView2.Right ImageView4.Left = ImageView3.Right '... '...
Me.Controls("Imageview4").Left = .........
In teoria con questoanche io avevo pensato una soluzione come quella di @Filippo, e sinceramente mi stavo chiedendo se non c'è un sistema per farlo tutto con un ciclo FOR e gli indici
..... cioè: c'è un sistema per accedere alle view tramite il loro nome ??
ad esempio, in VB.NET io scrivo:
B4X:Me.Controls("Imageview4").Left = .........
Si era parlato tempo fa di creare una List e mettere le view dentro a questa list e poi così poterla ciclare, ma come facciamo a mettere le view dentro qui senza dover scrivere 20 righe di codice ??
O.T.In teoria con questo
https://www.b4x.com/android/forum/threads/b4x-dse-designer-script-extensions.141312/
Ma personalmente non l'ho ancora provato.
Sono certo che sai che puoi "ciclarle" (e quindi, volendo, anche inserirle in una List o Map) usando il metodo GetAllViewsRecursive del contenitore.Si era parlato tempo fa di creare una List e mettere le view dentro a questa list e poi così poterla ciclare, ma come facciamo a mettere le view dentro qui senza dover scrivere 20 righe di codice ??
Sono certo che sai che puoi "ciclarle" (e quindi, volendo, anche inserirle in una List o Map) usando il metodo GetAllViewsRecursive del contenitore.
We use cookies and similar technologies for the following purposes:
Do you accept cookies and these technologies?
We use cookies and similar technologies for the following purposes:
Do you accept cookies and these technologies?