当输入sp比较大的文字或者数字的时候,文本或者数字周边会出现内边距的问题.
public class MyTextView extends TextView { private boolean adjustTopForAscent = true;
public MyTextView(Context context) { super(context); } public MyTextView(Context context, AttributeSet attrs) { super(context, attrs); } public MyTextView(Context context, AttributeSet attrs, int defStyle) { super(context, attrs, defStyle); } Paint.FontMetricsInt fontMetricsInt; @Override protected void onDraw(Canvas canvas) { if (adjustTopForAscent) {//设置是否remove间距,true为remove if (fontMetricsInt == null) { fontMetricsInt = new Paint.FontMetricsInt(); getPaint().getFontMetricsInt(fontMetricsInt); } canvas.translate(0, fontMetricsInt.top - fontMetricsInt.ascent); } super.onDraw(canvas); }}
