比较简单的东西,为了防止以后忘记,这里记录下。
注意以下几点
public void drawText(@NonNull String text, float x, float y, @NonNull Paint paint)
这个方法中 x y坐标并不是文本左下角。x的轴线实际是 fontMetrics.baseline(新版本api中是leading),且文本部分会绘制到x轴线下方
如果需要居中绘制 当前的x轴位置 - (fontMetrics.top + fontMetrics.bottom)/2 即可。
没啥说的直接放代码:
public class CustomTextView extends View {
private Paint paint;
public CustomTextView(Context context) {
super(context);
init();
}
public CustomTextView(Context context, @Nullable AttributeSet attrs) {
super(context, attrs);
init();
}
public CustomTextView(Context context, @Nullable AttributeSet attrs, int defStyleAttr) {
super(context, attrs, defStyleAttr);
init();
}
private void init() {
paint = new Paint();
<