Círculo con SweepGradient para animar
Hola, estoy tratando de dibujar un círculo como se muestra en la imagen. Donde mis valores oscila entre 0-100. 0-40 verde 41-60 amarillo 61-80 naranja y 81-100 rojo.
- Android canvas drawText establecer el tamaño de la fuente de la anchura?
- ¿Cómo encajan las piezas de la tubería de dibujo de Canvas de Android (2D)?
- Invalidación 1 Vista personalizada hace que todas las vistas personalizadas en un grupo de vista para ser invalidado?
- Zoom en un lienzo utilizando la función canvas.scale?
- Cómo dibujar un mapa de bits en la parte superior derecha de la lona
la vista debe animar de 0 a un valor definido lentamente, éste a alcanzar.
He intentado el siguiente código, y tratando de lograr, el código de la siguiente manera:
public class GradiantActivity extends Activity { /** Called when the activity is first created. */ @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(new GradientTestView(this)); } private class GradientTestView extends View { private Paint mPaint; private final int[] mColors; private int CENTER_X; private int CENTER_Y; private Shader shader; /** * Radius coordinates to draw circle. */ float r; public GradientTestView(Context context) { super(context); mColors = new int[] { 0xFF00FF00, //Green 0xFFFFFF00, //Yellow //Orange 0xFFFF0000 //Red }; shader = new SweepGradient(0, 0, mColors, null); mPaint = new Paint(Paint.ANTI_ALIAS_FLAG); mPaint.setStyle(Paint.Style.STROKE); mPaint.setStrokeWidth(100); } @Override protected void onDraw(Canvas canvas) { canvas.translate(CENTER_X, CENTER_Y); mPaint.setShader(shader); canvas.drawOval(new RectF(-r, -r, r, r), mPaint); //for different positioning //canvas.translate(0, CENTER_Y); //canvas.translate(-CENTER_X * 3 / 4, -CENTER_Y / 2); //canvas.translate(CENTER_X * 3 / 2, 0); } @Override protected void onSizeChanged(int w, int h, int oldw, int oldh) { CENTER_X = this.getWidth() / 2; CENTER_Y = this.getHeight() / 2; r = CENTER_Y / 2 - mPaint.getStrokeWidth() * 0.5f; } } }
Por favor ayude en animar esta vista de 0 a cualquier valor definido.
- SurfaceHolder.lockCanvas () Devuelve null Aunque estaba disponible
- Procesamiento de texto Android OpenGL ES 2.0
- ¿Por qué dibujar bitmaps es muy lento en algunos teléfonos Android 2.2?
- Mapa de bits no dibujado anti-alias
- ¿Cómo crear un círculo clippath de una imagen?
- Cómo rellenar rectángulo con opacidad en android
- Convertir vista en mapa de bits
- La vista personalizada de Android muestra negro sólido después de invocar invalidate
- No se puede implementar el deslizamiento + comportamiento de desplazamiento en el panel deslizante con ListView en Android
- Android SurfaceView mostrar imagen después de vídeo (superficie clara)