このようなグロー効果で線を描きたい
問題-ユーザーの操作に応じてプログラムでこの行を生成する必要があります(行の形式はonTouchEvent
--ACTION_MOVE
で生成されます)。
Xmlファイルやプリメイドビットマップを描画せずにこの効果を生成できますか?
私はこの方法でこの効果を模倣します:
BlurMaskFilter
;で線を引く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()
を2回描画します:
_@Override
protected void onDraw(Canvas canvas) {
canvas.drawPath(mPath, _paintBlur);
canvas.drawPath(mPath, _paintSimple);
}
_