package com.alibaba.genie.panel.basic.widget;
import android.content.Context;
import android.graphics.Canvas;
import android.graphics.Paint;
import android.graphics.Rect;
import android.support.annotation.NonNull;
import android.support.annotation.Nullable;
import android.support.v7.widget.AppCompatTextView;
import android.util.AttributeSet;
public final class NoPaddingTextView extends AppCompatTextView {
public NoPaddingTextView(@NonNull Context context) {
super(context);
}
public NoPaddingTextView(@NonNull Context context, @Nullable AttributeSet attrs) {
super(context, attrs);
}
public NoPaddingTextView(@NonNull Context context, @Nullable AttributeSet attrs, int defStyleAttr) {
super(context, attrs, defStyleAttr);
}
private Rect minRect;
@Override
protected void onMeasure(int widthMeasureSpec, int heightMeasureSpec) {
super.onMeasure(widthMeasureSpec, heightMeasureSpec);
if (minRect == null) {
minRect = new Rect();
}
getPaint().getTextBounds(getText().toString(), 0, getText().length(), minRect);
final int width = minRect.width();
final int height = minRect.height();
setMeasuredDimension(getMeasuredWidthAndState(), height);
}
@Override
protected void onDraw(Canvas canvas) {
final String text = getText().toString();
final int left = minRect.left;
final int top = minRect.top;
Paint paint = getPaint();
paint.setColor(getCurrentTextColor());
canvas.drawText(text, -left, -top, paint);
}
}