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

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

Rubsanpe

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

Un saludo

Rubén
 

TILogistic

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

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
Longtime 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
Longtime 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:

TILogistic

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

Xfood

Expert
Licensed User
Grazie Amico, non vedo l'ora di dare un aspetto professionale alle mie app , grazie al tuo fantastico codice e supporto.
 
Top