无法在密码提示中使用自定义字体 Android Studio



我正在尝试在Android Studio的密码提示字段中使用自定义字体。

在 XML 中将"编辑文本"设置为inputType="textPassword"后,字体更改为与我选择的字体不同的字体。所有其他"编辑文本"都具有正确的自定义字体。

我尝试在java代码中遵循此解决方案(将Typeface.DEFAULT替换为R.font.my_font(,但没有任何反应

EditText password = (EditText) findViewById(R.id.register_password_text);
password.setTypeface(R.font.my_font);
password.setTransformationMethod(new PasswordTransformationMethod());

我也尝试过这个解决方案,但没有成功

Typeface cache = edtPassword.getTypeface();
edtPassword.setInputType(InputType.TYPE_CLASS_TEXT | InputType.TYPE_TEXT_VARIATION_PASSWORD);
edtPassword.setTypeface(cache);

关于尝试什么或这些解决方案中可能缺少什么的任何想法?

PS:我正在使用montserrat_regular字体

发生这种情况是因为您正在传递字体的 id password.setTypeface(R.font.my_font( 不是 TypeFace 对象。你需要在setTypeFace((方法中传递TypeFace对象,所以要从你的字体资源ID制作TypeFace对象,只需添加代码

Typeface typeface = ResourcesCompat.getFont(this, R.font.my_font);
password.setTypeface(typeface);

我认为这应该有效。

最新更新