今天在做一个布局文件,需要用到点9图,编译时遇到了图下的问题,百度了答案,解决方法无非两个,但都讲得不太好,所以在这里直接总结。
首先这个问题的出现,主要有几个原因
①直接在AS中将jpg图片改成png为后缀的图片;
②点9图不规范,AS中点9图必须四边全部描黑点,而这在eclipse中不需要。
解决方法有两个:
①在build.gradle里添加以下两句:
aaptOptions.cruncherEnabled = false aaptOptions.useNewCruncher = false
直接添加到buildToolsVersion的下方即可,如图:
原理就是关闭Android Studio的PNG合法性检查,但用这个方法需要承担可能图片出错导致的程序崩溃的代价,而且笔者试了这种方法后还是报错,因此放弃。
②在AS中修改点9图
报错的原因是点9图不符合AS规范,因此只需要在每张点9图四边都加上一个像素黑点即可(draw9patch可以画,但觉得数量较少没有必要)。下面说一下如何修改,首先你的图片格式要放在drawable目录下,图片的命名要以 .9.png结尾,如图:
做完后,在AS中打开图片,直接双击图片就可以。然后在每张点9图的四边都用鼠标单击一下,会有一个黑点出现,全部点完后再运行就应该没问题了
运行效果如下: