EditText设置inputType=“textPassword“后hint 英文字体不对,而且不能换行

问题如题,我先上图看下遇到的问题

( ps: 我只想唱一句 : 你这该死的安卓~~ 让我心在痛 累在流!!!)

EditText设置inputType=“textPassword“后hint 英文字体不对,而且不能换行_第1张图片

很明显字体偏大,字间隔很宽,关键还不会换行, 看一下我们需要的效果:

EditText设置inputType=“textPassword“后hint 英文字体不对,而且不能换行_第2张图片

 看到只要把        

android:inputType="textPassword"

这一行干掉 一切就是我们想要的,但是产品不干了,必须要是密码输入框.不能明文

于是百度了很多方法 都是一种
 

passEdit.setTypeface(Typeface.DEFAULT);

亲测 无效.....,没有任何效果.

于是找到很多帖子 无非就是说设置android:inputType="textPassword"后 Typeface变成了Typeface.MONOSPACE,也就是要变回来DEFAULT就可以了,于是各种造....没造出来.

突然想到是不是先后顺序问题灵感来了,尝试果然OK,

贴出代码:

在java代码里面加入这一行:

        passEdit.setTypeface(Typeface.DEFAULT);
        passEdit.setTransformationMethod(new PasswordTransformationMethod());

看实际效果:  正常,并且Hint显示也字体正常切可以换行

EditText设置inputType=“textPassword“后hint 英文字体不对,而且不能换行_第3张图片

你可能感兴趣的:(android)