studio programacion para móviles libro edición desarrollo desarrollar curso aprende aplicaciones android android-edittext

programacion - Campo de contraseña numérica de Android



manual de programacion android pdf (8)

Tengo un campo EditText que necesita ser un campo de contraseña numérica. Todo funciona bien en modo retrato; no en el paisaje Cuando el usuario selecciona el campo EditText, la IU se acerca al campo y cuando escribo todos los caracteres están visibles.

Necesito un teclado numérico también. Intenté configurar el tipo de entrada para el texto contraseña | número. Si elimino la opción "número" todo funciona bien; De otra manera no.

¿Alguna sugerencia?


Creo que deberías usar android:password="true" y android:numeric="integer" . Pero como dice la documentación de Android (en R.attr.html , no en los documentos de TextView ), estos están desactivados y debe usar android:inputType . inputType toma bandera, por lo que puede mezclar múltiples posibilidades. Y creo que android:inputType="number | password" debería funcionar para usted.

Debe especificar android:password="true" si también desea admitir dispositivos más antiguos.


Esta es la forma de hacer una contraseña de entrada que tiene una sugerencia que no se convirtió a * !!

En XML:

android:inputType="textPassword" android:gravity="center" android:ellipsize="start" android:hint="Input Password !."

gracias a: mango y rjrjr por la comprensión: D.


La solución más simple que encontré para una entrada de texto numérico que debía ocultarse (estilo de contraseña) era usar: android:inputType="numberPassword"

Ejemplo completo que funcionó para mí:

<EditText android:layout_width="wrap_content" android:layout_height="wrap_content" style="@style/MyLargeTextBox" android:background="@android:drawable/editbox_background_normal" android:id="@+id/txtWebServicePIN" android:layout_row="3" android:layout_column="2" android:layout_columnSpan="2" android:minWidth="100dp" android:maxWidth="100dp" android:inputType="numberPassword" android:maxLength="6"/>


Para solucionar el problema donde la contraseña es visible en el editor de pantalla completa en modo horizontal (como describió Marcus), puede agregar la siguiente línea para deshabilitar el editor de pantalla completa:

editText.setImeOptions(EditorInfo.IME_FLAG_NO_EXTRACT_UI);

También es posible que desee cambiar el tipo de letra a monoespacio para emular mejor el comportamiento de contraseña de texto:

editText.setTypeface(Typeface.MONOSPACE);


Prueba con esto:

EditText input = (EditText) findViewById(R.id.input); input.setInputType(InputType.TYPE_CLASS_NUMBER | InputType.TYPE_NUMBER_VARIATION_PASSWORD);

Más información HERE


Prueba esto en XML y nada cambia en el archivo de manifiesto,

<EditText android:id="@+id/etPassword" android:layout_width="wrap_content" android:layout_height="wrap_content" android:inputType="textPassword" android:singleLine="true" />


Usando el obsoleto

android:password="true"

puede resolver su problema


Este problema se puede resolver sin utilizar android:password desaprobado android:password . Utilice el siguiente fragmento de código, pero no invierta la secuencia de llamadas:

EditText editText = (EditText) findViewById(R.id.MyEditText); editText.setInputType(InputType.TYPE_CLASS_NUMBER); editText.setTransformationMethod(PasswordTransformationMethod.getInstance());