1.制作.9.png时发现sdk的tools文件夹没有draw9patch.bat文件
Google已经把它集成到了Android Studio里面,使用步骤如下:
注意只能使用png图片,jpg格式的图片不可以
1.将图片放入drawable文件中,右键点击图片,选择Creat 9-Patch file
- .9图片的四条黑边的意义,每条黑边的意义都不一样
顶部:在水平拉伸的时候,保持其他位置不动,只在这个点的区域做无限的延伸
左边:在竖直拉伸的时候,保持其他位置不动,只在这个点的区域做无限的延伸
底部:在水平拉伸的时候,指定图片里的内容显示的区域
右边:在竖直拉伸的时候,指定图片里的内容显示的区域
双击.9图片会进入如下界面,使用鼠标在图片的边缘拖动就可以进行绘制了,按shift键后拖动可以进行擦除(右边可以预览)
注意四条边都要进行绘制,否则会报错
2.运行出现Dpulicate resource报错
资源的重定义
普通图片和.9图片的名称相同
Normal image:
<ImageView
android:id="@+id/normalImage"
android:background="@drawable/dialog"/>
Nine-patch image:
<ImageView
android:id="@+id/ninePatchImage"
android:background="@drawable/dialog"/>
使用相同的名称导致无法确定你需要使用的时哪张图片
因此需要用.9图替换原来的图片,删去非9图就可以了。
3.出现报错Error:Execution failed for task ':app:mergeDebugResources'.Some file crunching failed, see logs for details
可以在moudle build.gradle 中添加 如下代码
注意是添加在对应的moudle中,不是project
aaptOptions.cruncherEnabled = false
aaptOptions.useNewCruncher = false
添加代码后如果仍然报错,可能是因为9patch图片的边缘黑边绘制不连续造成的,重新绘制试试~