viral trata que moto hoy android paint ontouchevent

android - trata - Línea generada dinámicamente con brillo efectivo.



video viral de la moto (1)

Quiero dibujar una línea con efecto de brillo como este

El problema: debo generar esta línea en el programa en función de la interacción del usuario (la forma de la línea se generará en onTouchEvent - ACTION_MOVE ).

¿Puedo generar este efecto sin archivos xml o dibujar mapas de bits de premaid?


Imito este efecto de esta manera:

  1. Dibuja una línea con BlurMaskFilter ;
  2. Dibuja sobre ella la línea normal.

Utilizo la clase Path para generar líneas y guardar las coordenadas del evento MOVE_ACTION para generar solo una parte de la ruta que necesito.

Crear 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));

Y dibuja dos veces mi Path() :

@Override protected void onDraw(Canvas canvas) { canvas.drawPath(mPath, _paintBlur); canvas.drawPath(mPath, _paintSimple); }