Dibujo de una imagen de 9 parches en un lienzo con drawBitmap

¿Cuál es la forma correcta de usar un recurso de imagen de 9 parches en una vista personalizada?

Estoy haciendo esto:

background = BitmapFactory.decodeResource(getResources(), R.drawable.fundo_bookshelf); canvas.drawBitmap(background, null, new Rect(0, y, width, y+backgroundHeight), null); 

Fundo_bookshelf es una imagen apropiada de 9 parches, guardada como fundo_bookshelf.9.png, visto a continuación:

Fondo_bookshelf

Pero cuando se utiliza drawBitmap, toda la imagen se estira, en lugar de sólo la parte con el píxel negro en la parte superior, como se muestra en esta captura de pantalla: Imagen estrecha

¿Algo como esto?

 NinePatchDrawable bg = (NinePatchDrawable) resources.getDrawable(id); if (bg != null) { bg.setBounds(0, 0, getWidth(), getHeight()); bg.draw(canvas); } 

(Lo siento, no adaptarlo a su código, que es un recto cortar / pegar de la mía, pero espero que suficiente para seguir adelante)

FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.