在做项目的时候,UI给的设计图显示的EditText输入框字体和提示内容大小不一样,但是我们在设置EditText的TextSize的时候,hint是会跟随TextSize的值的大小的。所以这时候我们就需要单独设置hint的字体大小。但是系统只给了设置颜色(android:textColorHint=""),并没有给设置字体大小.既然没有我们就需要自己找找了,baidu,google了一下之后,找到了一种方式,试了一下,没有问题。
/**
* ========================================================
* 设置EditText的hint字体的大小
* ========================================================
*/
public static void setEditTextHintSize(EditText editText,String hintText,int size){
SpannableString ss = new SpannableString(hintText);//定义hint的值
AbsoluteSizeSpan ass = new AbsoluteSizeSpan(size,true);//设置字体大小 true表示单位是sp
ss.setSpan(ass, 0, ss.length(), Spanned.SPAN_EXCLUSIVE_EXCLUSIVE);
editText.setHint(new SpannedString(ss));
}
虽然原理还不是很清楚,但是效果是实现了。原理会等项目闲的时候再研究。
如有什么问题请联系我,如果有更好的解决方式,可以直接留言。