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.