studio hacer example dibujar circulos animaciones android gradient dithering

hacer - Cómo dibujar un gradiente suave/interpolado en un lienzo en Android



dibujar en android studio (1)

Varias respuestas mencionan usar GradientDrawable.setDither (verdadero) para dibujar degradados suaves en Android. Eso no tiene efecto en mi código. ¿Alguna idea de lo que tengo que cambiar para obtener un buen degradado en mi fondo de pantalla en vivo?

GradientDrawable gradient = new GradientDrawable(Orientation.TL_BR, colors); gradient.setGradientType(GradientDrawable.RADIAL_GRADIENT); gradient.setGradientRadius(canvas.getWidth() * 2); gradient.setDither(true); gradient.setGradientCenter(-0.1f, -0.1f); gradient.setBounds(cb); gradient.draw(canvas);


Al ver que tienes un Lienzo para trabajar. Aquí hay una opción.

private Bitmap makeRadGrad() { RadialGradient gradient = new RadialGradient(200, 200, 200, 0xFFFFFFFF, 0xFF000000, android.graphics.Shader.TileMode.CLAMP); Paint p = new Paint(); p.setDither(true); p.setShader(gradient); Bitmap bitmap = Bitmap.createBitmap(400, 400, Config.ARGB_8888); Canvas c = new Canvas(bitmap); c.drawCircle(200, 200, 200, p); return bitmap; }

Resultado: