NinePatchDrawable no obtiene relleno de parte

Necesito ayuda con NinePatchDrawable:

Mi aplicación puede descargar temas de la red. Casi todas las cosas funcionan bien, excepto los PNG de 9 parches.

final Bitmap bubble = getFromTheme("bubble");
if (bubble == null) return null;

final byte[] chunk = bubble.getNinePatchChunk();
if (!NinePatch.isNinePatchChunk(chunk)) return null;

NinePatchDrawable d = new NinePatchDrawable(getResources(), bubble, chunk, new Rect(), null);
v.setBackgroundDrawable(d);

d = null;
System.gc();

getFromTheme () carga el mapa de bits desde la tarjeta SD. Los PNG de 9 parches ya están compilados, lo que significa que incluyen el fragmento requerido.

La forma en que convierto el Bitmap a un objeto NinePatchDrawable parece estar funcionando, porque la imagen es estirable y la dibujé yo.

Lo único que no funciona es el relleno. Ya intenté configurar el relleno a la vista de esta manera:

final Rect rect = new Rect();   // or just use the new Rect() set
d.getPadding(rect);             // in the constructor
v.setPadding(rect.left, rect.top, rect.right, rect.bottom);

d.getPadding (rect) debe llenar la variable rect con el relleno obtenido del trozo, ¿no es así? Pero no lo hace.

Resultado: TextView (v) no muestra el texto en el área de contenido de la imagen de 9 parches. Los rellenos se establecen en 0 en cada coordenada.

Gracias por leer.

Respuestas a la pregunta(4)

Su respuesta a la pregunta