è un errore, oppure non ho capito ? (la seconda che hai detto!)
via codice, inserisco in un Pane 5 B4XTextField, tutto ok
poi se ridimensioni la form, il 5°B4XTextField viene spastato in alto;
vedi progetto allegato
Carichi 5 volte un layout in Pane1. OGNI VOLTA, la B4XFloatTextField1 che contiene viene posizionata in alto, come si trova nel layout, e poi spostata.
Quando effettui il resizing del form, è come se il caricamento del layout avvenisse di nuovo e solo per la 5a B4XFloatTextField1.
Ti conviene creare un Pane d'appoggio, invisibile, caricarci il layout che contiene la B4XFloatTextField1 e poi spostare questa in Pane1 (vedi progetto allegato)
bene, funziona. grazie!
nei giorni scorsi anche @stevel05 ha suggerito una soluzione simile nel forum inglese;
B4X:
For i = 1 To 5
Dim P As B4XView = xui.CreatePanel("")
P.SetLayoutAnimated(0,0,0,240,50)
P.LoadLayout("casella2")
Pane1.AddNode(P,300,i*52,240,50)
B4XFloatTextField1.Text = $"i am ${i} TextField"$
Next
nel tuo codice c'è un RemoveViewFromParent
B4X:
For i = 1 To 5
pnAppoggio.LoadLayout("casella2") 'ok qui viene caricato il layout, ma poi non viene utilizzato ? (il pnAppoggio)
B4XFloatTextField1.mBase.RemoveViewFromParent 'perché questo RemoveViewFromParent ?
Pane1.AddNode(B4XFloatTextField1.mBase, 0, (i - 1) * 52dip, 240dip, 50dip) 'forse mBase "contiene" il pnAppoggio ?
B4XFloatTextField1.Text = $"i am ${i} TextField"$
Next
bene, funziona. grazie!
nei giorni scorsi anche @stevel05 ha suggerito una soluzione simile nel forum inglese;
B4X:
For i = 1 To 5
Dim P As B4XView = xui.CreatePanel("")
P.SetLayoutAnimated(0,0,0,240,50)
P.LoadLayout("casella2")
Pane1.AddNode(P,300,i*52,240,50)
B4XFloatTextField1.Text = $"i am ${i} TextField"$
Next
nel tuo codice c'è un RemoveViewFromParent
B4X:
For i = 1 To 5
pnAppoggio.LoadLayout("casella2") 'ok qui viene caricato il layout, ma poi non viene utilizzato ? (il pnAppoggio)
B4XFloatTextField1.mBase.RemoveViewFromParent 'perché questo RemoveViewFromParent ?
Pane1.AddNode(B4XFloatTextField1.mBase, 0, (i - 1) * 52dip, 240dip, 50dip) 'forse mBase "contiene" il pnAppoggio ?
B4XFloatTextField1.Text = $"i am ${i} TextField"$
Next
La mia ha un piccolo vantaggio, trascurabile.
La prima crea un nuovo Pane per ogni custom view (in questo caso B4XFloatTextField1) che, come il mio pnAppoggio, non viene realmente usato, quindi crea 5 Pane superflui contro uno solo della mia soluzione. Non è certo un gran danno, ma se dovessi creare 100 B4XFloatTextField1 anziché 5...!
Inoltre li crea a runtime, a differenza di pnAppoggio creato nel Designer, quindi impiegando tempo che, se fosse importante...!
This site uses cookies to help personalise content, tailor your experience and to keep you logged in if you register.
By continuing to use this site, you are consenting to our use of cookies.