Android TextView 去掉自適應(yīng)默認(rèn)的fontpadding的實(shí)現(xiàn)方法
最近在項(xiàng)目中使用textview時(shí)發(fā)現(xiàn)在使用Android:layout_height="wrap_content"這個(gè)屬性設(shè)置后,textview會(huì)有默認(rèn)的padding,也就是fontpadding。這樣就會(huì)造成textview和其他view中間的間距會(huì)比自己的設(shè)置的大。那么我們怎么來remove掉這個(gè)間距呢?
第一、先試試設(shè)置includefontpadding=false ,如果不能達(dá)到目的的話,可以按照第二種方法。
第二、實(shí)現(xiàn)自定義TextView,只需繼承自TextView然后重寫onDraw方法就可以了。
FontMetricsInt fontMetricsInt; @Override protected void onDraw(Canvas canvas) { if (adjustTopForAscent){//設(shè)置是否remove間距,true為remove if (fontMetricsInt == null){ fontMetricsInt = new FontMetricsInt(); getPaint().getFontMetricsInt(fontMetricsInt); } canvas.translate(0, fontMetricsInt.top - fontMetricsInt.ascent); } super.onDraw(canvas); } 第二種方法一般能達(dá)到目的,如果還是不能的話,那只能使用marginTop等于負(fù)值來實(shí)現(xiàn)了,不過不推薦這種方法。
如有疑問請留言或者到本站社區(qū)交流討論,感謝閱讀希望能幫助到大家,謝謝大家對本站的支持!
新聞熱點(diǎn)
疑難解答
圖片精選