文字绘制调用Canvas的drawText方法
先上源码
/**
* Draw the text, with origin at (x,y), using the specified paint. The origin is interpreted
* based on the Align setting in the paint.
*
* @param text The text to be drawn
* @param x The x-coordinate of the origin of the text being drawn
* @param y The y-coordinate of the baseline of the text being drawn
* @param paint The paint used for the text (e.g. color, size, style)
*/
public void drawText(@NonNull String text, float x, float y, @NonNull Paint paint) {
super.drawText(text, x, y, paint);
}
参数x看注释很好理解,x的值是所绘制文字的x轴坐标原点,就是从x处开始绘制
参数y的解释是,y的值是所绘制文字的基准线所在的y轴坐标
文字解释不是很好理解,可以画出来试试
public class SimpleColorChangeTextView extends AppCompatTextView {
private float mPercent = 0.0f;
private String text = "奔跑的土掉渣";
public SimpleColorChangeTextView(Context context) {
super(context);
}
public SimpleColorChangeTextView(Context context, AttributeSet attrs) {
super(context, attrs);
}
public SimpleColorChangeTextView(Context context, AttributeSet attrs, int defStyleAttr) {
super(context, attrs, defStyleAttr);
}
public float getPercent() {
return mPercent;
}
public void setPercent(float mPercent) {
this.mPercent = mPercent;
invalidate();
}
@Override
protected void onDraw(Canvas canvas) {
super.onDraw(canvas);
//绘制文字
float baseline = 100;
Paint paint = new Paint();
paint.setTextSize(60);
canvas.drawText(text, 0, baseline, paint);
}