如果在Android项目中使用Nine Patch资源,时候可能出现比如ERROR: 9-patch image android123.9.png malformed.或 No marked region found along edge.以及 Found along top edge.的错误主要是因为该图片没有四周的定位像素。
有两种解决方法:
1,,讲其后缀名改为普通名字。
2,将其做成点九图片。
一、注意事项
9Patch图片的左边框和上边框至少有一个描点,右边框和下边框则有且只有一段描点。
边框 | 描点数 |
---|---|
左边框 | 大于或等于1 |
上边框 | 大于或等于1 |
右边框 | 非0,仅仅可为1 |
下边框 | 非0,仅仅可为1 |
左边框和上边框留白的地方,即告诉系统那里不进行处理,保持原样。
二、No marked region found along edge
与No marked region found along edge类似和相关的,意思是某条边框或者全部的边框没有进行描点。
解决方法:检查一下报错的那个9Patch的四条边是否都进行了描点。
三、Can’t have more than one marked region along edge.
与Can’t have more than one marked region along edge.类似和相关的,意思是右边框或者下边框有一个或两边框的描点超过了一个,从【注意事项】里我们了解到这两条边框的描点数只能为1。
解决方法:检查一下报错的那个9Patch的右边框和下边框是否描点数超过1,有可能只是描点描了一个像素,所以检查的时候建议放大多倍进行检查。
四. draw9patch.bat不能运行的一个解决方案
解决方案:下载jar包,地址是:
http://netmite.com/android/mydroid/1.6/prebuilt/common/swing-worker/swing-worker-1.1.jar
下好的jar包放到:$ANDROID_SDK/tools/lib 文件里,再运行就可以。