studio programacion para móviles libro edición desarrollo desarrollar curso aprende aplicaciones android nine-patch

para - manual de programacion android pdf



''Parches'' malos en el archivo de 9 parches (6)

Estoy intentando usar la herramienta Draw9Patch del SDK de Android, pero inmediatamente después de abrir mi imagen con Draw9Patch, muestra toda el área de mi imagen como un "Parche incorrecto". Dibujé manualmente las líneas que definen las áreas extensibles, sin embargo, no estoy seguro de si esto funcionará correctamente. ¿Podría alguien explicar por qué esta imagen específica no es un "buen parche"? Otras respuestas de Stackoverflow a esta pregunta no parecen estar relacionadas con mi problema o no las estoy entendiendo.


Acabo de publicar una publicación de Medium sobre Bad Patches. Explica la lógica subyacente para los parches malos y contiene algunos consejos para conquistarlos. Siéntase libre de echarle un vistazo:

9 parches: malos parches en todas partes ...


Debe intentar definir un área de estiramiento de un píxel en su botón. No tienes un efecto de degradado, por lo que el resultado será el mismo. El parche malo generalmente se genera por la definición de estiramiento del lado izquierdo.


Estoy pensando que su frontera es probablemente el problema:

Desde developer.android.com:

"El borde se usa para definir las áreas estirables y estáticas de la imagen. Usted indica una sección estirable dibujando una (o más) líneas negras de 1 píxel de ancho en la parte superior izquierda del borde (la otra los píxeles del borde deben ser totalmente transparentes o blancos). Puede tener tantas secciones extensibles como desee: su tamaño relativo permanece igual, por lo que las secciones más grandes siguen siendo las más grandes ".

Parece que tienes cajas de relleno, pero sin espacio entre tu imagen y las cajas. Eso significa que Android probablemente los interpreta como bordes, en lugar de como cajas de relleno (creo).

Intenta hacer un borde NEGRO de 1 píxel alrededor de tu imagen. Los cuadros de relleno son opcionales, pero deben estar separados de la imagen por algunos píxeles transparentes.

Sobre todo, recomiendo intentar acercarse lo más posible a los ejemplos que encuentre here .

Espero que ayude.


He encontrado la mejor y la respuesta más sencilla para hacer una imagen de 9 parches.

Desde HERE puede hacer una imagen de 9 parches para todas las resoluciones: XHDPI, HDPI, MDPI y LDPI en un solo clic.

Avíseme si tiene alguna pregunta y hágalo un voto positivo si le fue útil.


Respuesta tardía, pero parece que la herramienta 9patch está analizando si su área estirada varía en sus píxeles, lo que significa que una tira es diferente de las otras en el área estirable, lo que puede producir artefactos de estiramiento feos si se hace accidentalmente.

Hice un pequeño ejemplo (feo) para visualizar eso:
En la primera imagen, no hay parches defectuosos (aparte del centro, ignórelo).
Esto se debe a que el área estirada es del mismo color, las tiras de píxeles son todas iguales:

Sin embargo, en la segunda imagen, las partes superior e inferior también están marcadas como malas porque el gradiente comienza allí y las tiras horizontales de píxeles ya no son las mismas que las demás (contienen un poco más de azul / rojo), lo que PODRÍA causar artefactos si utilizado sin intención:


Viejo, pero tenía la misma pregunta. El "parche malo" es definitivamente confuso, pero no impedirá que tu dibujable funcione. Los sitios de desarrollo dicen que es básicamente una advertencia de que esos sitios de parches "pueden producir artefactos en el gráfico cuando se estiran" .

Si observas muchos de los elementos dibujables de Android, verás que contienen "parches erróneos". Así que solo pruébalos y si se ven bien, no me preocuparía por eso.