更改 TextInputLayout 提示字体

Change TextInputLayout Hint Font

你好,我正在使用 kotlin 将 TextInputLayout 的提示字体设置为:

   passwordTextLayout.typeface = Typeface.createFromAsset(context.assets, "fonts/af/myfont.ttf")

其中 myfont.ttf 是一些个人字体文件

它仅在提示 resides/placed 位于文本输入布局的编辑文本中时有效,但是当我单击编辑文本并开始输入时,提示折叠起来,并将字体更改为某种默认字体!

我想在两种情况下使用相同类型的提示,即当提示在编辑文本内部时和当它折叠时。

提示位于编辑文本中时的图片(字体更改请参见 f):

当用户在编辑文本中单击时,图片字体变为 (查看字符 f):

好吧,很显然,在带有 inputType password 的 TextInputLayouts 中,字体存在问题。如果您将 TextView.setInputType() 与以下任何一项一起使用:

InputType.TYPE_TEXT_VARIATION_VISIBLE_PASSWORD
InputType.TYPE_TEXT_VARIATION_PASSWORD
InputType.TYPE_TEXT_VARIATION_WEB_PASSWORD
InputType.TYPE_NUMBER_VARIATION_PASSWORD

...然后 Android 应用 Monospace 字体。

我认为,更好的解决方法是执行以下操作:

  1. 从 xml 的定义中删除 android:inputType="textPassword" 视图。
  2. 使用Caligraphy3 library应用字体。
  3. 在代码中设置PasswordTransformation

。 .

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