如何使用不同的笔触和填充颜色绘制文本?

Yug*_*abu 25 java android paint

我想在我的应用程序中显示如下文字.我正在使用Paint有风格的课FILL_AND_STROKE来实现这一目标.但只有一种方法setColor()可用于设置颜色.

如何设置不同的笔触和填充颜色?

具有不同笔划和填充颜色的文本

Эва*_*ist 19

在自定义TextView内部(在EditText中不起作用):

@Override
public void onDraw(Canvas canvas)
{
    final ColorStateList textColor = getTextColors();

    TextPaint paint = this.getPaint();

    paint.setStyle(Style.STROKE);
    paint.setStrokeJoin(Join.ROUND);
    paint.setStrokeMiter(10);
    this.setTextColor(strokeColor);
    paint.setStrokeWidth(strokeWidth);

    super.onDraw(canvas);
    paint.setStyle(Style.FILL);

    setTextColor(textColor);
    super.onDraw(canvas);
}
Run Code Online (Sandbox Code Playgroud)

  • 警告!这将永远循环 onDraw 函数,递归 (2认同)

Reu*_*ton 17

不要使用FILL_AND_STROKE.使用FILL绘制一次,然后更改颜色并使用STROKE绘制.

(适用于矩形.我不确定STROKE是否适用于文本.你必须尝试并找出它.)

  • 对于较高的文本大小和笔画宽度,生成的文本看起来很难看。 (2认同)

Fab*_*ook 0

不完全确定,但也许你可以使用这个:

关联

 TextView test = (TextView) findViewById(R.id.test);

 test.setShadowLayer(float, float, float, int);
Run Code Online (Sandbox Code Playgroud)

  • 阴影层则不同,它会在文字后面加上指定的颜色,那么文字就会显得有些模糊。 (3认同)