studio - manual de programacion android pdf
Android: la tipografía cambia cuando aplico la contraseña Escriba en EditText (4)
Lo siguiente podría resolverlo por ti.
pass.setTypeface(user.getTypeface());
Básicamente, solo pasa el Typeface
de Typeface
de su campo de nombre de usuario y lo pasa como tipo de Typeface
para su campo de contraseña.
Encontré una explicación de esto en la Guía de Dialogs API .
Consejo: de forma predeterminada, cuando configura un elemento EditText para usar el tipo de entrada
"textPassword"
, la familia de fuentes está configurada en monoespacio, por lo que debe cambiar su familia de fuentes a"sans-serif"
para que ambos campos de texto utilicen una fuente coincidente. estilo.
En otras palabras, una solución que se puede hacer en XML sería la siguiente:
<EditText
android:id="@+id/password"
android:inputType="textPassword"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:fontFamily="sans-serif"
android:hint="@string/password"/>
Utilizo la biblioteca FloatLabel ( https://github.com/weddingparty/AndroidFloatLabel ) para agregar una pequeña animación cuando el usuario comienza a escribir algo en un Android EditText.
Mi problema es que el tipo de letra parece cambiar cuando aplico el tipo de contraseña a mi EditText. Me gustaría mantener el mismo tipo de letra de lo normal. (ver figura 1)
Pero cuando agrego la siguiente línea para aplicar el tipo de contraseña, parece que el tipo de letra de la pista ha cambiado.
pass.getEditText().setInputType(InputType.TYPE_CLASS_TEXT | InputType.TYPE_TEXT_VARIATION_PASSWORD);
Por alguna razón, no tuve que establecer el método de transformación, así que esta podría ser una mejor solución. En MyActivity:
EditText editText_password = findViewById(R.id.edittext);
editText_password.setTransformationMethod(new PasswordTransformationMethod());
Puede ser tarde para responder esta pregunta, pero me he encontrado con este problema. Así que pensé en responder esto. Lo he resuelto Implementing a CustomTextWatcher
.
Aquí está el fragmento
private class CustomTextWatcher implements TextWatcher {
private EditText mEditText;
public CustomTextWatcher(EditText e) {
mEditText = e;
mEditText.setTypeface(Typeface.DEFAULT);
}
public void beforeTextChanged(CharSequence s, int start, int count, int after) {
mEditText.setTypeface(Typeface.DEFAULT);
}
public void onTextChanged(CharSequence s, int start, int before, int count) {
mEditText.setTypeface(Typeface.MONOSPACE);
}
public void afterTextChanged(Editable s) {
if(s.length() <= 0){
mEditText.setTypeface(Typeface.DEFAULT);
} else {
mEditText.setTypeface(Typeface.MONOSPACE);
}
}
}
Aquí es cómo puedes usarlo en tu aplicación
EditText pin = (EditText) findViewById(R.id.pin);
pin.addTextChangedListener(new CustomTextWatcher(pin));
puedes usar android: hit, y setHitColor en tu actividad, no afectará la entrada normal