在做項(xiàng)目的時候,UI給的設(shè)計(jì)圖顯示的EditText輸入框字體和提示內(nèi)容大小不一樣,但是我們在設(shè)置EditText的TextSize的時候,hint是會跟隨TextSize的值的大小的。所以這時候我們就需要單獨(dú)設(shè)置hint的字體大小。但是系統(tǒng)只給了設(shè)置顏色(android:textColorHint=""),并沒有給設(shè)置字體大小.既然沒有我們就需要自己找找了,baidu,google了一下之后,找到了一種方式,試了一下,沒有問題。
/**
* ========================================================
* 設(shè)置EditText的hint字體的大小
* ========================================================
*/
public static void setEditTextHintSize(EditText editText,String hintText,int size){
SpannableString ss = new SpannableString(hintText);//定義hint的值
AbsoluteSizeSpan ass = new AbsoluteSizeSpan(size,true);//設(shè)置字體大小 true表示單位是sp
ss.setSpan(ass, 0, ss.length(), Spanned.SPAN_EXCLUSIVE_EXCLUSIVE);
editText.setHint(new SpannedString(ss));
}
雖然原理還不是很清楚,但是效果是實(shí)現(xiàn)了。原理會等項(xiàng)目閑的時候再研究。
如有什么問題請聯(lián)系我,如果有更好的解決方式,可以直接留言。