TransWikia.com

Simular hint de EditText en TextInputLayout JAVA

Stack Overflow en español Asked by Bruno Sosa Fast Tag on December 11, 2021

Actualmente tengo el siguiente código

    <com.google.android.material.textfield.TextInputLayout
            android:id="@+id/TextInputLayout"
            style="@style/CajasDeTexto"
            android:layout_width="match_parent"
            android:layout_height="50dp"
            android:background="@drawable/input_background"
            android:src="@drawable/show_password_selector"
            android:textColorHint="@color/blanco"
    
            app:passwordToggleEnabled="true"
            android:hint="@string/placeHolderTxtContrasena"
            app:hintAnimationEnabled="false"
            app:passwordToggleTint="@color/blanco">
        
            <com.google.android.material.textfield.TextInputEditText
                android:id="@+id/txtContrasena"
                android:layout_width="match_parent"
                android:layout_height="32dp"
                android:background="@color/colorPrimary"
                android:inputType="textPassword"
                app:hintAnimationEnabled="false"
                android:layout_marginEnd="3dp"/>
</com.google.android.material.textfield.TextInputLayout> 

Lo que provoca que al escribir se vea asi

introducir la descripción de la imagen aquí

y al escribir

introducir la descripción de la imagen aquí

Quisiera que el HINT desaparezca/ no se vea como cuando empieze a escribir en el y aparesca cuando no tenga nada en la caja tal como funciona con el Edittext

2 Answers

si no he entendido mal lo que que quieres es que el label flotante, desaparezca, y que solo esté el hint normal.

Solo hay que añadir dos líneas en el diseño:

  1. Añadimos la propiedad app:hintEnabled="false" en el TextInputLayout.

  2. Añadimos el hint al EditText y un color para que se vea.

    android:hint="password"

    android:textColorHint="#fff"

Con ello conseguiremos lo que buscas. Te dejo el código y unas capturas.

<com.google.android.material.textfield.TextInputLayout
        android:id="@+id/TextInputLayout"
        style="@style/CajasDeTexto"
        android:layout_width="match_parent"
        android:layout_height="50dp"
        android:background="@drawable/input_background"
        android:src="@drawable/show_password_selector"
        android:textColorHint="@color/blanco"
        app:hintEnabled="false"

        app:passwordToggleEnabled="true"
        android:hint="@string/placeHolderTxtContrasena"
        app:hintAnimationEnabled="false"
        app:passwordToggleTint="@color/blanco">

        <com.google.android.material.textfield.TextInputEditText
            android:id="@+id/txtContrasena"
            android:layout_width="match_parent"
            android:layout_height="32dp"
            android:background="@color/colorPrimary"
            android:inputType="textPassword"
            app:hintAnimationEnabled="false"
            android:layout_marginEnd="3dp"
            android:hint="password"
            android:textColorHint="#fff"/>
   </com.google.android.material.textfield.TextInputLayout>

captura1

captura2

¡Espero que te sirva!

Answered by mrgold92 on December 11, 2021

El elemento que no deseas mostrar se llama Label (etiqueta)

introducir la descripción de la imagen aquí

Este elemento se agrega con esta propiedad:

  android:hint="@string/placeHolderTxtContrasena"

por lo tanto si no deseas que se muestre deseas debes eliminarla.

El problema aquì es que el texto mostrado en el Label y el "hint" del EditText son definidos por la misma propiedad, por lo tanto puedes dejar de mostrar el Label y continuar mostrando el "hint" del EditText de esta forma:

editText.setOnFocusChangeListener(new View.OnFocusChangeListener() {
    @Override
    public void onFocusChange(View v, boolean hasFocus) {
       inputLayout.setHint(hasFocus ? "" : "Contraseña");
    }
});

Answered by Elenasys on December 11, 2021

Add your own answers!

Ask a Question

Get help from others!

© 2024 TransWikia.com. All rights reserved. Sites we Love: PCI Database, UKBizDB, Menu Kuliner, Sharing RPP