如果在Android项目中使用Nine Patch资源,时候可能出现比如ERROR: 9-patch image android123.9.png malformed.或 No marked region found along edge.以及 Found along top edge.的错误主要是因为该图片没有四周的定位像素。
有两种解决方法:
1,,讲其后缀名改为普通名字。
2,将其做成点九图片。
Android项目开发填坑记-9patchPng报错
一、注意事项
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,有可能只是描点描了一个像素,所以检查的时候建议放大多倍进行检查。
参考: StackOverFlow