1.制作.9.png時(shí)發(fā)現(xiàn)sdk的tools文件夾沒(méi)有draw9patch.bat文件
Google已經(jīng)把它集成到了Android Studio里面旱眯,使用步驟如下:
注意只能使用png圖片,jpg格式的圖片不可以
1.將圖片放入drawable文件中毛萌,右鍵點(diǎn)擊圖片渺氧,選擇Creat 9-Patch file
- .9圖片的四條黑邊的意義秆麸,每條黑邊的意義都不一樣
頂部:在水平拉伸的時(shí)候茫藏,保持其他位置不動(dòng)刨晴,只在這個(gè)點(diǎn)的區(qū)域做無(wú)限的延伸
左邊:在豎直拉伸的時(shí)候矛物,保持其他位置不動(dòng)顿乒,只在這個(gè)點(diǎn)的區(qū)域做無(wú)限的延伸
底部:在水平拉伸的時(shí)候,指定圖片里的內(nèi)容顯示的區(qū)域
右邊:在豎直拉伸的時(shí)候泽谨,指定圖片里的內(nèi)容顯示的區(qū)域
雙擊.9圖片會(huì)進(jìn)入如下界面璧榄,使用鼠標(biāo)在圖片的邊緣拖動(dòng)就可以進(jìn)行繪制了,按shift鍵后拖動(dòng)可以進(jìn)行擦除(右邊可以預(yù)覽)
注意四條邊都要進(jìn)行繪制吧雹,否則會(huì)報(bào)錯(cuò)
2.運(yùn)行出現(xiàn)Dpulicate resource報(bào)錯(cuò)
資源的重定義
普通圖片和.9圖片的名稱相同
Normal image:
<ImageView
android:id="@+id/normalImage"
android:background="@drawable/dialog"/>
Nine-patch image:
<ImageView
android:id="@+id/ninePatchImage"
android:background="@drawable/dialog"/>
使用相同的名稱導(dǎo)致無(wú)法確定你需要使用的時(shí)哪張圖片
因此需要用.9圖替換原來(lái)的圖片骨杂,刪去非9圖就可以了。
3.出現(xiàn)報(bào)錯(cuò)Error:Execution failed for task ':app:mergeDebugResources'.Some file crunching failed, see logs for details
可以在moudle build.gradle 中添加 如下代碼
注意是添加在對(duì)應(yīng)的moudle中雄卷,不是project
aaptOptions.cruncherEnabled = false
aaptOptions.useNewCruncher = false
添加代碼后如果仍然報(bào)錯(cuò)搓蚪,可能是因?yàn)?patch圖片的邊緣黑邊繪制不連續(xù)造成的,重新繪制試試~