Android 如何在自定义视图中填充笔划文本?
我准备了一个自定义视图,视图代码是Android 如何在自定义视图中填充笔划文本?,android,android-layout,android-custom-view,Android,Android Layout,Android Custom View,我准备了一个自定义视图,视图代码是 mPaint.setDither(true); mPaint.setColor(0xFFFFFFFF); mPaint.setTextSize(100); mPaint.setStyle(Paint.Style.STROKE); mPaint.setStrokeJoin(Paint.Join.ROUND); mPaint.setStr
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);
}
结果是,
在这里,我想在“安卓”里面填充一些颜色。我又准备了一个颜料,就是
mAlphaInner.setDither(true);
mAlphaInner.setColor(0xFF0000FF);
mAlphaInner.setTextSize(98);
在onDraw()中添加
但观点是,
请帮助我如何在“Android”中填充颜色。如果您尝试
mPaint.setStyle(Pain.Style.fill\u和\u 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);
}
您是否用填充和笔划检查了下面的答案??结果如何?如果我尝试使用白色填充mPaint.setStyle(Paint.Style.FILL_和_STROKE),但我希望使用不同颜色的填充。您使用的是白色。mPaint.setColor(0xFFFFFFFF);检查它在“两个油漆”视图中添加这条线后是这样的,
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);
}