French Mettre des label sur plusieurs ligne dans un panel

zed

Active Member
Licensed User
J'ai un string qui contient par example 90 caratères.
Je split la string en autant de caractère.
Ensuite je crée 1 label pour chaque caractère ce qui me donne 90 label et j'ajoute tous les label dans un panel.
Mon problème est que tous les label sont sur une même ligne et dépasse la largeur du panel.
comment faire pour que les label se mettent sur 2,3,... lignes et ne dépasse plus le panel.

B4A:
Private Sub GenerateLabels(nbrLettre As String) 
    
    Dim lblName(nbrLettre) As B4XView
    Dim allChar() As String 'for all characters in the string
    allChar = Regex.Split("",citation) 'all characters in the citation string
            
    Dim dist As Int = 2dip
    For i = 0 To nbrLettre-1
        Private lbl As Label
        lbl.Initialize("view")
        lbl.SetBackgroundImage(LoadBitmap(File.DirAssets, "card.png"))
        lblName(i) = lbl
        lblName(i).Tag = allChar(i)&","&i
        lblName(i).Text = allChar(i)
        lblName(i).SetTextAlignment("CENTER","CENTER")
        lblName(i).TextColor = Colors.black
        lblName(i).Font = myFont
        pnlCrypto.AddView(lblName(i), dist, 5dip, 10dip, 25dip)
        dist = dist + 10dip
    Next
    
End Sub
 

Attachments

  • probleme.png
    probleme.png
    2.9 KB · Views: 154

Serge Bertet

Active Member
Licensed User
Dans le principe, un truc comme ça :
B4X:
        pnlCrypto.AddView(lblName(i), distX, distY, 10dip, 25dip)
        distX = distX + 10dip
        if distX > pnlCrypto.Width then
            distX = 0
            distY = distY + 5dip
        End If
 

zed

Active Member
Licensed User
Salut Serge
Ce n'est pas mal du tout ce que tu proposes là.
A la première lecture, ça me semble aller dans le bon sens.
Je vais tester ça.
Parfois, quand on a le nez trop longtemps dans un code, il devient difficile (ou plus trop envie :rolleyes: ) de trouver la solution.
En tout cas, merci pour avoir pris un peu de ton temps.
 

Serge Bertet

Active Member
Licensed User
Parfois, quand on a le nez trop longtemps dans un code, il devient difficile (ou plus trop envie :rolleyes: ) de trouver la solution.
C'est pas faux (l'algo était pas trop compliqué pourtant ;)).

Content que ça fonctionne !
 
Top