我准备了一个自定义视图,视图代码是,
mPaint.setDither(true);
mPaint.setColor(0xFFFFFFFF);
mPaint.setTextSize(100);
mPaint.setStyle(Paint.Style.STROKE);
mPaint.setStrokeJoin(Paint.Join.ROUND);
mPaint.setStrokeCap(Paint.Cap.ROUND);
mPaint.setStrokeWidth(2);
protected void onDraw(Canvas canvas) {
canvas.drawText("Android",100,100,mPaint);
}
result view is,
https://i.stack.imgur.com/yDXL3.png这里我想在"Android"内部填充一些颜色。我又准备了一个绘画对象,也就是
mAlphaInner.setDither(true);
mAlphaInner.setColor(0xFF0000FF);
mAlphaInner.setTextSize(98);
添加在onDraw(),
canvas.drawText("Android",100,100,mPaint);
but view is
https://i.stack.imgur.com/oHueB.png请告诉我如何在"Android"内部填充颜色。
如果您尝试mPaint.setStyle(Pain.Style.FILL_AND_STROKE)
编辑:
忘记两种颜料中的Paint.setTextAlign(Paint.Align.CENTER)
使用两种不同的模式绘制文本两次。
mPaint.setDither(true);
mPaint.setColor(0xFFFFFFFF);
mPaint.setTextSize(100);
mPaint.setStyle(Paint.Style.STROKE);
mPaint.setStrokeJoin(Paint.Join.ROUND);
mPaint.setStrokeCap(Paint.Cap.ROUND);
mPaint.setStrokeWidth(2);
mAlphaInner.set(mPaint); //Set the same text size!
mAlphaInner.setColor(0xFF0000FF);
mAlphaInner.setStyle(Paint.Style.FILL_AND_STROKE);
protected void onDraw(Canvas canvas) {
canvas.drawText("Android",100,100,mAlphaInner);
canvas.drawText("Android",100,100,mPaint);
}