Italian Sub SetLabelSize(lbl As Label, txt As String) Spiegazione

D

Deleted member 103

Guest
ok. Mi devi spiegare cosa devo fare perchè non sono pratico di classi. Devo creare un modulo Class Standard? Ma tutto il codice va nella class?
Crea una nuova classe "Standard Class", e dai un nome tipo "clsTextResizer"
1609182435507.png

inserisci tutto il codice.

Questo è il tipoco uso:
B4X:
Sub Globals
...
    Private TextResizer As clsTextResizer
    Private lblMialabel, lblAltraMiaLabel as Label
...
End Sub

Sub Activity_Create(FirstTime As Boolean)
...
    'Classe clsTextResizer initialisieren
    TextResizer.Initialize
    
    lblMialabel.Text = "quello che vuoi"
    TextResizer.SetTextSize(lblMialabel, lblMialabel.Text, 1, False)
    
    'Se hai un'altra Label che dovrebbe avere lo stesso TextSize"
    lblAltraMiaLabel.TextSize = lblMialabel.TextSize
...
End Sub
 

GIS

Well-Known Member
Licensed User
@Filippo Grazie, ma il risultato finale non cambia. La stringa all'interno viene piccolissima. Avrei bisogno che la stringa vada a capo quando è troppo lunga.
Il risultato prima label:
B4X:
Sub B4XComboBox1_SelectedIndexChanged (Index As Int)
    
    Dim comando As String = B4XComboBox1.GetItem(Index)
    Dim Package As String = Regex.Split("-", comando)(1) 
   
    Nodo = Package

    myImmagine.Initialize(File.DirAssets,"button3d.png")
    NodoScelto.SetBackgroundImage(myImmagine)
    
    NodoScelto.Text = Nodo
    centrastringa.SetTextSize(NodoScelto,NodoScelto.text,1,False)
    
    
    
End Sub
1.png

La seconda Label:

B4X:
Sub GeneraLink_Click
    
    linkcompleto = link1 & EditText1.Text & link2 & NodoScelto.Text & link3
    
    

    myImmagine.Initialize(File.DirAssets,"button3d.png")
    Link.SetBackgroundImage(myImmagine)
    Link.Text = linkcompleto
    centrastringa.SetTextSize(Link,Link.text,1,False)
    
    something.clrText
    something.settext(linkcompleto)
    
    something.getText
    
    something.hasText
    
    ToastMessageShow("Link Copiato negli Appunti",True)
    
    
End Sub
2.png
 
D

Deleted member 103

Guest
linkcompleto = link1 & EditText1.Text & link2 & NodoScelto.Text & link3
prova così:
linkcompleto = link1 & crlf & EditText1.Text & crlf & link2 & crlf & NodoScelto.Text & crlf & link3
 

GIS

Well-Known Member
Licensed User
linkcompleto = link1 & crlf & EditText1.Text & crlf & link2 & crlf & NodoScelto.Text & crlf & link3
Ok. Volevo solo vedere se c'era la possibilità di averlo in automatico. Fa niente la metterò in una edit.text come da posto #32
Grazie del tuo tempo!!!
 
Last edited:

GIS

Well-Known Member
Licensed User
L'ultima cosa che non capisco il perchè. Come da screen perchè ho due centrature diverse?
B4X:
Sub B4XComboBox1_SelectedIndexChanged (Index As Int)
    
    Dim comando As String = B4XComboBox1.GetItem(Index)
    Dim Package As String = Regex.Split("-", comando)(1) ' <--- (1) prende il secondo elemento dell'array che Split produce. Il primo (0) sarà "service"
    Log(Package)
    Nodo = Package

    myImmagine.Initialize(File.DirAssets,"button3d.png")
    NodoScelto.SetBackgroundImage(myImmagine)
    
    NodoScelto.Text = Nodo
    centrastringa.SetTextSize(NodoScelto,NodoScelto.text,1,False)
    
    
    
End Sub
1.png
il Numero viene scentrato. Se invece quel numero lo inserisco in questo modo il risultato sarebbe come da label Genera Link
Perfettamente centrato. E mi chiedo, Perché?
B4X:
myImmagine.Initialize(File.DirAssets,"button3d.png")
    GeneraLink.SetBackgroundImage(myImmagine)   
    GeneraLink.Text = "Genera Link"
    
    
    centrastringa.SetTextSize(GeneraLink,GeneraLink.text,1,False)
Indipendentemente dalla procedura che utilizzo per la centratura.
 
D

Deleted member 103

Guest
Sei sicuro che il numero non abbia alla fine degli spazi vuoti, tipo "123456789 " ?
 
Top