更改TextInputLayout提示字体

时间:2019-04-05 18:40:57

标签: android kotlin android-textinputlayout typeface

在那儿,我正在用kotlin将 TextInputLayout 的提示字体设置为:

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

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

它仅在提示驻留/放置在textinputlayout的edittext中时才起作用,但是当我单击edittext并开始键入提示时,提示折叠了起来,并且它将字体更改为某种默认字体!

我想在两种情况下都对提示使用相同类型的面,即当提示在edittext内以及当其折叠时。

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

enter image description here

用户在edittext中单击时的图片,字体更改为(签出字符f)

enter image description here

2 个答案:

答案 0 :(得分:0)

好吧,显然在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应用等宽字体。

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

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

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

答案 1 :(得分:-2)

尝试将此行添加到TextInputLayout:

style="@style/MyStyle"

然后在styles.xml中创建一个条目:

<style name="MyStyle">
        <item name="android:textColor">#fff</item>
        <item name="android:textSize">16sp</item>
        <item name="android:fontFamily">"@fonts/myfont.ttf"</item>
</style>

看看会发生什么。