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
y al escribir
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
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:
Añadimos la propiedad app:hintEnabled="false"
en el TextInputLayout.
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>
¡Espero que te sirva!
Answered by mrgold92 on December 11, 2021
El elemento que no deseas mostrar se llama Label
(etiqueta)
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
Get help from others!
Recent Answers
Recent Questions
© 2024 TransWikia.com. All rights reserved. Sites we Love: PCI Database, UKBizDB, Menu Kuliner, Sharing RPP