B4A en español - Juan Antonio Villalpando
(BASIC4Android)
-- Tutorial de B4A --
Volver al índice del tutorial
____________________________
94.- Librería RichString.
- En una Label solo podemos poner el mismo color en todos los carácteres que componen su texto.
Mediante la librería RichString podemos poner distintos colores, fuentes, tamaños, subrayados,... en cada caracter del Label.
Esta librería viene muy bien explicada en los foros y en el mismo ejemplo que trae la librería. (Foro de RichString).
Consultamos el mencionado ejemplo y observamos que hay tres maneras de poner distintos colores, fuentes,...
Dim rs As RichString
Dim rsb As RichStringBuilder
Dim rsf As RichStringFormatter
_______________________________________________
- RichString.
1.- En la primera forma
Dim rs As RichString
rs.Initialize("Esta es una frase de pruebas")
se inicia una frase y se le da color, tamaño, fuente,... mediante el lugar que ocupa el trozo que queremos obtener.
Los caracteres de la frase los comenzamos a contar desde 0.
Código RichString
|
Sub Activity_Create(FirstTime As Boolean)
Dim Label1 As Label
Label1.Initialize("Label1")
Label1.Color = Colors.White
Label1.TextColor = Colors.Black
Label1.TextSize = 20
Label1.Gravity = Gravity.CENTER
Activity.AddView(Label1, 10dip, 10dip, 300dip, 50dip)
Dim rs As RichString
rs.Initialize("Esta es una frase de pruebas")
rs.Color(Colors.Red, 0, 4) ' Color
rs.RelativeSize(1.5, 0, 4) ' Tamaño
rs.Typeface("arial", 0, 4) ' Fuente
rs.Underscore(5,11) ' Subrayado
rs.Strikethrough(12, 17) ' Tachado
rs.Color(Colors.Green, 12, 17) ' Color
rs.Style(rs.STYLE_BOLD_ITALIC, 12, 28) ' Negrita, cursiva
Label1.Text = rs
End Sub
|
Las otras dos maneras de hacer esto mismo...
Dim rsb As RichStringBuilder
Dim rsf As RichStringFormatter
Consiste en establecer unos códigos y ponerlos de forma parecida al código fuente html.
Trozo de código del ejemplo que viene en la librería...
Dim rs As RichStringBuilder
rs.Initialize("{R}{T}{Blue}This{Blue}{T}{R} {U}is{U} another {Red}{BI}Rich{Red}String{BI}")
rs.Color2(Colors.Blue,"{Blue}")
rs.RelativeSize2(1.5, "{R}")
rs.Typeface2("serif", "{T}")
rs.Underscore2("{U}")
rs.Color2(Colors.Red, "{Red}")
rs.Style2(rs.STYLE_BOLD_ITALIC, "{BI}")
Label2.Text = rs
_____________________________________________________
- ListView.
En un ListView tendremos que utilizar la librería ListView2 que podemos obtener en esta página del foro.
Hay otra librería para dar forma al texto en un Label llamada LabelExtra (ver en foro)
Consulta también la librería ClickableTextView.
________________________________
|