Spanish Mostrar etiqueta deslizable (no autodeslizable)

desof

Well-Known Member
Licensed User
Longtime User
Hola tengo una actividad que muestra un etiqueta con una cantidad importante de texto de terminos y condiciones y supera al alto de la activity y la misma esta dentro de un Panel .
Necesito que el usuario deslice hacia abajo para que se muestre todo el contenido y se me quemaron los papeles en esto que seguro en una pavada.
 

JCO

Active Member
Licensed User
Longtime User
Hola,

Has probado con un scrollview?
Añades un scrollview en el diseño, y en el código algo así:
B4X:
    Dim lb As Label
    lb.Initialize("")
    ScrollView1.Panel.Height = 100%y * 2
    lb.Text= "El texto largo"
    ScrollView1.Panel.AddView(lb, 0dip, 0dip, ScrollView1.Width, ScrollView1.Panel.Height )

Saludos,
Julio
 

Seneca

Active Member
Licensed User
Hola.

En el ejemplo anterior se le da un alto al panel del scrollview que no tiene por qué ajustarse al alto que requiere la etiqueta de texto, pudiendo quedar corto o demasiado largo. Por eso, yo complementaría este código para que el alto del panel sea justo el que necesitamos, dependiendo de la longitud del texto a mostrar. Para ello se puede usar la librería StringUtils

B4X:
Sub Activity_Create(FirstTime As Boolean)
    Activity.LoadLayout("scroll")

    Dim su As StringUtils 'Necesita librería Stringutils

    Dim lb As Label
    lb.Initialize("")
    scrollview1.Panel.AddView(lb, 0dip, 0dip, scrollview1.Width, 0) 'El 0 final da igual, lo vamos a modificar después

    lb.Text= "Y, viéndole don Quijote de aquella manera, con muestras de tanta tristeza, le dijo: Sábete, Sancho, que no es un hombre más que otro si no hace más que otro. Todas estas borrascas que nos suceden son señales de que presto ha de serenar el tiempo y han de sucedernos bien las cosas; porque no es posible que el mal ni el bien sean durables, y de aquí se sigue que, habiendo durado mucho el mal, el bien está ya cerca. Así que, no debes congojarte por las desgracias que a mí Me suceden, pues a ti no te cabe parte dellas.Y, viéndole don Quijote de aquella manera, con muestras de tanta tristeza, le dijo: Sábete, Sancho, que no es un hombre más que otro si no hace más que otro. Todas estas borrascas que nos suceden son señales de que presto ha de serenar el tiempo y han de sucedernos bien las cosas; porque no es posible que el mal ni el bien sean durables, y de aquí se sigue que, habiendo durado mucho el mal, el bien está ya cerca. Así que, no debes congojarte por las desgracias que a mí Me suceden, pues a ti no."
    lb.Height = su.MeasureMultilineTextHeight(lb,lb.Text) 'Dimensiona el alto de la etiqueta para que quepa el texto

    scrollview1.Panel.Height = lb.Height 'Dimensiona el alto del panel del Scroll al alto de la etiqueta

    lb.TextColor = Colors.DarkGray
End Sub

Saludos.
 

Seneca

Active Member
Licensed User
@desof, si consideras que tu consulta ha quedado resuelta, modifica el título de este tema añadiendo (SOLUCIONADO), de manera que podamos ayudar a otros usuarios.

Saludos.
 
Top