Android Studio 制作Nine-Patch圖片編譯報(bào)錯(cuò)問(wèn)題

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圖片的名稱(chēng)相同
Normal image:

<ImageView
    android:id="@+id/normalImage"
    android:background="@drawable/dialog"/>

Nine-patch image:

<ImageView
    android:id="@+id/ninePatchImage"
    android:background="@drawable/dialog"/>

使用相同的名稱(chēng)導(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ù)造成的,重新繪制試試~

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書(shū)系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

推薦閱讀更多精彩內(nèi)容