Bisognerebbe bacchettare Erel, però. Il nome corretto dovrebbe essere GetAllViewsRecursively ?Grazie mille, non mi ricordavo più il GetAllViewsRecursive !!!
Bisognerebbe bacchettare Erel, però. Il nome corretto dovrebbe essere GetAllViewsRecursively ?Grazie mille, non mi ricordavo più il GetAllViewsRecursive !!!
Mi pare che i miei tentativi con le traduzioni (basate sul metodo di @Filippo) avesse portato a usare i cicli For each per ciascuna view. Forse era qui: https://www.b4x.com/android/forum/t...stema-migliore-secondo-voi.130662/post-825755anche 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 ??
Se vuoi puoi anche provare questa soluzione, se non vuoi scrivere nel layout tutte quelle rige di codice, anche se io penso che non siano veramente molte.grazie @Filippo provo anche la tua soluzione..
Nel codice viene caricata ogni riga dandogli altezza 70dip fissa; questa dovrebbe essere l'altezza originale delle view nel Designer, ma AutoScaleAll la cambia.Praticamente l'altezza delle icone sono tagliate
Usa questo modificato Sub:Adesso ho provato l'esempio che hai allegato e non so se è il mio telefono (devo riprovare)
Praticamente l'altezza delle icone sono tagliate.....esempio l'icona della nota musicale la gambetta è tagliata
Sub AddRiga(item As Int)
Dim itemHeight As Int
Dim p As B4XView = xui.CreatePanel("")
p.SetLayoutAnimated(0, 0, 0, PnlConView.Width, 70dip)
p.LoadLayout("layRiga")
itemHeight = p.GetView(0).Width
For i = 0 To 3
p.GetView(i).As(ImageView).Bitmap = LoadBitmap(File.DirAssets, lstBMP.Get(count))
count = count + 1
Next
p.Height = itemHeight
PnlConView.AddView(p, 0, item * itemHeight, PnlConView.Width, itemHeight)
End Sub
Dovrebbe funzionare.Usa questo modificato Sub:
Ok provo subito...Usa questo modificato
Grazie Filippo, funziona benissimoUsa questo modificato
Dipende sempre da quello che bisogna fare.Mi piacerebbe capire la differenza tra scrivere codice in mainpage o designer oppure lasciare
solo quelle 3 righe, poche ma buone!
aggiungerei....ed essere bravi in matematica!ma per il 99,9% è meglio usare lo script del designer.