Android: ¿Cómo establecer la propiedad de la contraseña en un texto de edición?

Necesito crear un formulario de inicio de sesión con campos 'nombre de usuario' 'contraseña' y dos botones 'inicio de sesión' y 'cancelar' en mi aplicación Android.

Estoy utilizando un diálogo de alerta con edittext dentro de eso.

Este es el código que usé para crear contraseña edittext ..

final EditText Password = new EditText(this); Password.setGravity(Gravity.CENTER); Password.setHint("Password"); Password.setWidth(200); Password.setTransformationMethod(new PasswordTransformationMethod()); login_alert.addView(Password); 

Mi problema es que, texto en blanco se muestra en lugar de "puntos" cuando abro un teclado para editar la contraseña. (Se muestra como puntos cuando no está en el modo de teclado virtual)

¿Puede alguien sugerir una solución?

 Password.setInputType(InputType.TYPE_CLASS_TEXT | InputType.TYPE_TEXT_VARIATION_PASSWORD); 

Este trabajo para mí.
Pero usted tiene que mirar el comentario de Octavian Damiean, él tiene razón.

Esto está obsoleto

En xml de EditText iclude este atributo: android: password = "true"

Editar

 android:inputType="textPassword" 

Esta es una nueva forma de poner puntos en la contraseña

 <EditText android:id="@+id/loginPassword" android:layout_width="fill_parent" android:layout_height="wrap_content" android:inputType="textPassword" android:hint="@string/pwprompt" / 

Añadir android: inputType = "textPassword"

Es necesario utilizar PasswordTransformationMethod.getInstance() lugar de new PasswordTransformationMethod() .

La única manera que funcionó para mí usando el código (no XML) es éste:

 etPassword.setInputType(InputType.TYPE_TEXT_VARIATION_PASSWORD); etPassword.setTransformationMethod(PasswordTransformationMethod.getInstance()); 

Ver esta vista de texto de enlace android: contraseña

Esto se aplica también a EditText , ya que es una subclase directa conocida de TextView .

Encontré al hacer esto que para poner la gravedad en el centro, y aún tener su sugerencia de contraseña mostrar cuando se using inputType , el android:gravity="Center" debe estar al final de su línea XML.

 <EditText android:textColor="#000000" android:id="@+id/editText2" android:layout_width="fill_parent" android:hint="Password" android:background="@drawable/rounded_corner" android:layout_height="fill_parent" android:nextFocusDown="@+id/imageButton1" android:nextFocusRight="@+id/imageButton1" android:nextFocusLeft="@+id/editText1" android:nextFocusUp="@+id/editText1" android:inputType="textVisiblePassword" android:textColorHint="#999999" android:textSize="16dp" android:gravity="center"> </EditText> 

Mi búsqueda de una solución similar para Visual Studio 2015 / Xamarin me lleva a este hilo. Al establecer el EditText.InputType en Android.Text.InputTypes.TextVariationVisiblePassword ocultó correctamente la contraseña durante la entrada del usuario, no "ocultó" la contraseña si era visible antes de que se editara el layout de EditText (antes de que el usuario enviara su entrada de contraseña). Con el fin de ocultar una contraseña visible después de que el usuario envía su contraseña y el EditText Layout es procesado, he utilizado EditText.TransformationMethod = PasswordTransformationMethod.Instance como sugerido por LuxuryMode.

Para establecer la contraseña activada en EditText, tendremos que establecer un atributo "inputType" en el archivo xml.Si estamos utilizando sólo EditText, entonces habremos establecido el tipo de entrada en EditText como se indica en el código a continuación.

  <EditText android:id="@+id/password_Edit" android:focusable="true" android:focusableInTouchMode="true" android:hint="password" android:imeOptions="actionNext" android:inputType="textPassword" android:maxLength="100" android:nextFocusDown="@+id/next" android:layout_width="match_parent" android:layout_height="match_parent" /> 

El atributo habilitar contraseña es

  android:inputType="textPassword" 

Pero si estamos implementando Password EditText con Material Design (Con la biblioteca de soporte de diseño), entonces tendremos que escribir el código tal como se indica a continuación.

 <android.support.design.widget.TextInputLayout xmlns:app="http://schemas.android.com/apk/res-auto" android:id="@+id/txtInput_currentPassword" android:layout_width="match_parent" app:passwordToggleEnabled="false" android:layout_height="wrap_content"> <EditText android:id="@+id/password_Edit" android:focusable="true" android:focusableInTouchMode="true" android:hint="@string/hint_currentpassword" android:imeOptions="actionNext" android:inputType="textPassword" android:maxLength="100" android:nextFocusDown="@+id/next" android:layout_width="match_parent" android:layout_height="match_parent" /> </android.support.design.widget.TextInputLayout> 

@Nota: – En Android SDK 24 y superior, "passwordToggleEnabled" es por defecto true. Así que si tenemos el manejo de aduanas de mostrar / ocultar la función en la contraseña EditText, entonces tendremos que ponerlo en código falso como se indica arriba en.

 app:passwordToggleEnabled="true" 

Para agregar encima de la línea, tendremos que agregar debajo de la línea en la disposición de la raíz.

 xmlns:app="http://schemas.android.com/apk/res-auto" 
  • ¿Cómo puedo añadir una imagen en EditText
  • Barra de herramientas se mueve fuera de la pantalla cuando uso adjustpan
  • Cómo cambiar / cambiar el tamaño de EditText en el diseño de la tabla?
  • Android EditText en ListView - teclado
  • EditText, foco claro en el tacto afuera
  • FindViewById devuelve null para EditText
  • Texto de edición de texto de Android Word-Wrap
  • La sugerencia EditarTexto no se muestra
  • EditarTexto en un ListView
  • Android - ¿Cómo puedo activar una validación para un campo edittext
  • Android: ¿Ajusta la pantalla cuando aparece el teclado?
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.