31

我想用这样
辉光线
的发光效果画线问题 - 我必须根据用户的交互在程序中生成这条线(线的形式将在onTouchEvent-中生成ACTION_MOVE)。

我可以在没有 xml 文件或绘制 premaid 位图的情况下生成这种效果吗?

4

1 回答 1

72

我以这种方式模仿这种效果:

  1. BlurMaskFilter用;画线
  2. 画在它的法线上。

我使用 Path 类生成线并保存MOVE_ACTION事件坐标以仅生成我需要的部分路径。

创建 2Paint()秒:

_paintSimple = new Paint();
_paintSimple.setAntiAlias(true);
_paintSimple.setDither(true);
_paintSimple.setColor(Color.argb(248, 255, 255, 255));
_paintSimple.setStrokeWidth(20f);
_paintSimple.setStyle(Paint.Style.STROKE);
_paintSimple.setStrokeJoin(Paint.Join.ROUND);
_paintSimple.setStrokeCap(Paint.Cap.ROUND);

_paintBlur = new Paint();
_paintBlur.set(_paintSimple);
_paintBlur.setColor(Color.argb(235, 74, 138, 255));
_paintBlur.setStrokeWidth(30f);
_paintBlur.setMaskFilter(new BlurMaskFilter(15, BlurMaskFilter.Blur.NORMAL)); 

并画两次我的Path()

@Override
protected void onDraw(Canvas canvas) {
    canvas.drawPath(mPath, _paintBlur);
    canvas.drawPath(mPath, _paintSimple);
}
于 2011-06-10T08:37:26.873 回答