2010-12-03 16 views
9

He intentado convertir todos mis botones de fondo a .9.png, pero tengo un problema con Eclipse.Error de Eclipse con nueve archivos de parche?

Creé mi parche .png con la herramienta, pero desde que lo puse en mi carpeta/res/drawable, tengo los siguientes errores en todos mis archivos .xml cuando intento acceder a cualquier recurso que empiece por @drawable :

Error: No resource found that matches the given name (at 'drawable' with value '@drawable/my_resource'). 

aquí es mi .9.png: nine patch

Y aquí es una captura de pantalla: screenshot

¿existe un problema en mi .9.png o se trata de un problema w con eclipse?

Gracias

+0

btw: reg. "Lo puse en mi carpeta/res/drawable ...": no tienes una carpeta dibujable (en referencia a tu captura de pantalla), solo drawable-hdpi, etc. Eso es a propósito, ¿no? –

+0

Sí lo es. El @drawable se resuelve correctamente. Es extraño, porque si elimino el .9.png, todo funciona bien, pero si lo vuelvo a agregar, Eclipse no podrá resolver ningún recurso dibujable ... – nbarraille

Respuesta

8

no sé a ciencia cierta que es lo que está causando el problema, pero en su NinePatch, que necesita para hacer el derecho y la parte inferior del marco en líneas continuas. La derecha y la parte inferior definen su área de contenido (es decir, donde Android colocará contenido dentro de NinePatch. No puede ser un área no contigua). La parte superior e izquierda definen sus puntos de estiramiento. Como es un gradiente, seguiría adelante y simplemente conectaría los puntos en todos los lados excepto en la parte superior. En la parte superior, puedes usar un solo píxel negro para lograr el mismo resultado.

+5

Básicamente, puede tener múltiples áreas extensibles (puntos superior/izquierdo), pero solo un área de contenido (abajo/puntos derechos, o toda el área si deja la parte inferior/derecha en blanco). Debe tener una línea continua o ninguna línea a la derecha e inferior para que un parche sea legal. –

+0

Gracias a los dos, ese era exactamente el problema. ¡Simplemente no estaba usando la herramienta draw 9patch! – nbarraille

0

¿Está haciendo referencia a "my_resource" (.9.png) en cualquier parte del código? Porque su botón se llama "button_blue", pero la imagen en el registro de errores es "my_resource". Busque en el proyecto cualquier clase o xml que contenga 'my_resource'. Si no hay ninguno, intente limpiar el proyecto en Eclipse (Menú/Proyecto/Limpiar ...) y/o reinicie Eclipse.

+0

Sí, la llamada al recurso de nueve parches está realmente en la captura de pantalla, acabo de cambiar el mensaje de error por uno más genérico, ya que muestra un error cuando intento acceder a CUALQUIER recurso @drawable, y no solo al parche de nueve – nbarraille

+0

bien, entonces el png no es válido como kcoppock se menciona a continuación. –

0

Tuve los mismos problemas. Los mismos errores Para todos los drawables, incluido ninepatch.

La instrucción en http://developer.android.com/guide/topics/graphics/2d-graphics.html#nine-patch dice que tengo que poner los archivos en drawable, not drawable-hdpi. O mdpi como lo tuve. Entonces, creé una carpeta simplemente "dibujable". Y movió todo allí. Tampoco funcionará. PERO cuando después me mudé todo de vuelta, funcionó bien. Es todo magia, me temo. La limpieza y la construcción no son la razón, los hice después de cada cambio.

1
  1. Que asuma que su nombre de la imagen se image.9.png
  2. Utilice la refactor cambiar el nombre del archivo: image9.png (elimino el punto de partir del 9)
  3. A continuación, utilice el nuevo refactor para cambiarle el nombre por el nombre original: image.9.png

Supongo que el archivo de configuración no se está actualizando correctamente, por lo que el uso de refactor fuerza la actualización de cualquier archivo que se use para la configuración.

0

Para el trabajo perfecto intente cerrar y abrir 9patch después de la modificación.

es preferible cerrar 9patch para cada imagen de modificación, y volver a abrir 9patch para la nueva imagen que desea streatch con 9patch.

Cuestiones relacionadas