Spanish Personalizar vista B4XFloatTextField

oparra

Well-Known Member
Licensed User
Estimados,

Quiero compartir un ejemplo (archivo adjunto) de como se puede personalizar una vista B4XFloatTextField de la librería XUI Views.

En este ejemplo he usado el método de desarrollo B4XPages, y si desea se puede usar en el desarrollo normal.

La única diferencia entre las plataforma, es que en B4J utiliza un archivo de estilo CSS.

Estoy atento a sus comentarios.

Saludos,

Resultados B4J y B4A:

1617471506038.png
1617471590347.png
 

Attachments

  • B4XPages-B4XFloatTextField.zip
    15.9 KB · Views: 111

Rubsanpe

Active Member
Licensed User
Hola. Muy interesante. ¿Como consigues sacar el Hint del campo de texto?

Un saludo

Rubén
 

oparra

Well-Known Member
Licensed User
Agregar a la rutina del ejemplo:
Public Sub SetFloatTextField

B4X:
    If FloatTextField.TextField Is TextArea And xui.IsB4J Then
        Dim ta As TextArea = FloatTextField.TextField
        ta.WrapText = False
        ta.Style = $"
                    -fx-background-image: url(${File.GetUri(File.DirAssets, "img.jpg")});
                    -fx-background-repeat: stretch;
                    -fx-background-size: 100% 100%;
                    -fx-background-position: center center;
                    -fx-effect: dropshadow(three-pass-box, rgba(0,0,0,0.9), 10, 0, 0, 0);
                    -fx-background-color: transparent;
                   "$
    End If
 
Last edited:

oparra

Well-Known Member
Licensed User
Hola Oparra.

¿De casualidad, conoce algún skin para mejorar las aplicaciones desarrolladas con b4a para Android?

Saludos.
No.

Solo usamos nuestras Librerías de vistas y animaciones que tenemos desarrolladas.

Saludos,
 

Rubsanpe

Active Member
Licensed User
Hola. ¿Alguien sabe como se puede añadir un margen izquierdo donde se escribe el texto? He definido los campos con un borde redondeado, y el cursor empieza muy cerca del borde y no queda demasiado bien.

Gracias

Rubén
 

angel_

Well-Known Member
Licensed User
Hola. ¿Alguien sabe como se puede añadir un margen izquierdo donde se escribe el texto? He definido los campos con un borde redondeado, y el cursor empieza muy cerca del borde y no queda demasiado bien.

Gracias

Rubén
Prueba a modificar la propiedad Padding 8, 0, 0, 0 en el Visual Designer
Sólo B4A:
Public Sub SetFloatTextField(FloatTextField As B4XFloatTextField)
    FloatTextField.SmallLabelTextSize = 14 'Hint Small
    FloatTextField.LargeLabelTextSize = 16 'Hint Large
    FloatTextField.TextField.TextSize = 16 'Text
   
    Dim TextFont As B4XFont = xui.CreateFont2(FloatTextField.HintFont, FloatTextField.SmallLabelTextSize)
    Dim TextWidth As Int = MeasureTextWidth(FloatTextField.HintText, TextFont)
    Dim BorderRadius As Int = 25
   
    FloatTextField.HintLabelSmallOffsetY =  5 'Inside
    FloatTextField.HintLabelSmallOffsetX = (FloatTextField.TextField.Width - TextWidth) - (BorderRadius + 5) 'Right
    #If B4A
        Dim edt As EditText = FloatTextField.TextField
        edt.Padding = Array As Int (10dip, 0dip, 0dip, 0dip) 'Margen izquierdo 10dip
    #End If
    FloatTextField.Update
   
    FloatTextField.TextField.SetColorAndBorder(xui.Color_White, DipToCurrent(2), xui.Color_Black, BorderRadius)
End Sub
 
Last edited:

jose luis gudino

Active Member
Licensed User
Excelnte,
Hola tengo un problema cuando uso una vista de tipo B4XFloatTextField no puedo ver su contenido del texto, cuando estoy en modo debuger.
y aparece un mensaje :
alguien tendria la solucion
gracias!!!


Captura.PNG
 
Last edited:
Top