Spanish Personalizar vista B4XFloatTextField

TILogistic

Expert
Licensed User
Longtime 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

Hola. Muy interesante. ¿Como consigues sacar el Hint del campo de texto?

Un saludo

Rubén
 
Agregar a la rutina del ejemplo:
Public Sub SetFloatTextField

B4X: Copy
    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:
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
 
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
Code: Copy
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:
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:
a presto amico, sto preparando tutto quello che pubblicherò, sto organizzando quello che ho fatto, ovvero tante lezioni e visualizzazioni personalizzate

esempio che ho trovato tra le visualizzazioni personalizzate.

1.gif
 
Last edited:
Grazie Amico, non vedo l'ora di dare un aspetto professionale alle mie app , grazie al tuo fantastico codice e supporto.
 
Back
Top