动态生成的线条,有效发光

时间:2011-06-08 16:02:09

标签: android paint ontouchevent

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

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

1 个答案:

答案 0 :(得分:60)

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

  1. 使用BlurMaskFilter;
  2. 绘制线条
  3. 画上法线。
  4. 我使用Path类生成行并保存MOVE_ACTION事件的坐标,以仅生成我需要的路径的一部分。

    创建2 Paint() s:

    _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);
    }