ShapeDrawable
Cuando quieras crear un gráfico dinámicamente mediante primitivas vectoriales, una buena opción puede ser utilizar ShapeDrawable. Esta clase permite dibujar gráficos a partir de formas básicas. Un ShapeDrawable es una extensión de Drawable, por lo tanto puedes utilizar todo lo que permite Drawable.
Ejercicio paso a paso: Definir un ShapeDrawable.
Veamos un ejemplo de cómo utilizar un objeto ShapeDrawable para crear una vista a medida.
1. Abre el proyecto EjemploGraficos.
2. En la clase EjemploView declara la siguiente variable:
private ShapeDrawable miImagen;
3. Añade las siguientes tres líneas dentro del constructor de esta clase:
miImagen = new ShapeDrawable(new OvalShape());
miImagen.getPaint().setColor(0xff0000ff);
miImagen.setBounds(10, 10, 310, 60);
En el constructor, un objeto ShapeDrawable es definido como un óvalo. Se le asigna un color y se definen sus fronteras.
4. Escribe la siguiente línea en el método onDraw:
miImagen.draw(canvas);
5. Ejecuta la aplicación y observa el resultado.