9png格式是什么
在Android的設(shè)計過程中,為了適配不同的手機分辨率索烹,圖片大多需要拉伸或者壓縮陨收,這樣就出現(xiàn)了可以任意調(diào)整大小的一種圖片格式“.9.png”岸啡。這種圖片是用于Android開發(fā)的一種特殊的圖片格式,它的好處在于可以用簡單的方式把一張圖片中哪些區(qū)域可以拉伸抚恒,哪些區(qū)域不可以拉伸設(shè)定好咱台,同時可以把顯示內(nèi)容區(qū)域的位置標(biāo)示清楚。
本文結(jié)合一些具體的例子來看下.9.png的具體用法俭驮。
普通的.png資源與.9.png的資源區(qū)別:
![Uploading 031_2_142350.png . . .]
普通的png資源就不多介紹了回溺,可以明顯看到.9.png的外圍是有一些黑色的線條的,那這些線條是用來做什么的呢混萝?我們來看下放大的圖像:
放大后可以比較明顯的看到上下左右分別有一個像素的黑色線段遗遵,這里分別標(biāo)注了序號。簡單來說逸嘀,
序號1和2標(biāo)識了可以拉伸的區(qū)域车要,
序號3和4標(biāo)識了內(nèi)容區(qū)域。
當(dāng)設(shè)定了按鈕實際應(yīng)用的寬和高之后崭倘,橫向會拉伸1區(qū)域的像素翼岁,縱向會拉伸2區(qū)域的像素类垫。如下圖:
拉伸的含義應(yīng)該比較容易理解,但是內(nèi)容區(qū)域的標(biāo)注有什么意義呢琅坡?我們來看下圖:
這里程序設(shè)置的文字垂直居中悉患,水平居左的對齊方式。對齊方式是沒有問題的榆俺,但是對于這種大圓角同時又有些不規(guī)則邊框的的圖形來說购撼,錯誤的標(biāo)注方式會讓排版看起來很混亂。所以我們需要修正內(nèi)容區(qū)域的線段位置和長度
把橫向的內(nèi)容區(qū)域縮短到圓角以內(nèi)谴仙,縱向的內(nèi)容區(qū)域控制在輸入框的高度以內(nèi)迂求,這樣文字就可以正常顯示了。
這里還有一種特殊情況晃跺,就是本身是.9.png的資源揩局,但是在修改過程中你希望這張.9.png不能被拉伸(在做皮膚的情況中有可能會遇到),那怎么辦呢掀虎?只要把拉伸區(qū)域的點點在透明像素的地方就可以了凌盯,這樣拉伸的時候會拉伸透明部分的像素,而不會拉伸圖像本身烹玉。如下圖:
大家可以看到拉伸區(qū)域的黑點是可以不連續(xù)的驰怎。
最外圍的一圈像素必須要么是純黑色,要么是透明二打,一點點的半透明的像素都不可以有县忌,比如說99%的黑色或者是1%的投影都不可以有;