Android .9图
一、什么情況下可以用到點九圖
先來看一個例子,這里是一個圓角矩形:
因為Android有太多的分辨率了,當圓角矩形控件在被拉伸放大的時候,圓角的部分就會出現模糊的情況。而點九切圖就不同,它可以保證不管你上下還是左右拉伸,放大都可以保持原有的清晰度。
而且,你仔細比較一下,會發現:普通的拉伸效果,圓角部分也跟著變大了;點九下的效果圓角部分,原來是多大就還是原來的樣子。
二、原理
點九,就是將圖片橫向和縱向隨意進行拉伸,卻可以保留像素的精細度、漸變質感和圓角的大小不發生變化,以實現多分辨率下的完美顯示效果。
蓋房子的你知道吧?你要蓋一座房子,不對,是已經蓋好了。但是現在你覺得小了點,想再寬一點,再長一點,你怎么辦?
A.全部拆了重新蓋;
B.我只拆四個角,然后延長,再把四個角按照原來的樣子重新壘好。
你選哪個?當然是B了。
現在,你蓋的房子更寬了,也更長了,四個角的大小變了嗎?除了位置,大小還是原來的樣子。你只不過是把中間的部分增加了而已。
(這樣好理解了嗎?)
那么,通過上面的例子,我們大體知道了:哪里是可以拉伸的,哪里是不需要拉伸的?
你可以把這個當做一個俯瞰下的房子。
(1)1.3.7.9這四個部分,是屋角,要保持原來的樣子,所以是不拉伸的;
(2)5,這一部分是房子的里面,放東西和住人的,要隨著長寬的變化而變化的,身不由己,沒辦法;
(3)2.4.6.8這四個部分,是四面墻,是可以拉伸的。前面說的就是這部分的變化。(它們的拉伸,就相當于是5這塊被拉伸了。)
那具體我們可以總結為:圓角(不需要拉伸)、除了圓角之外的邊(需要拉伸)。
三、怎樣操作
我們以對話框舉例說明:
首先,我們簡化一下切圖文件,“點九”圖片拉伸1個像素與拉伸10個像素效果上是沒有區別的,所以盡量縮小圖片的尺寸。
在這里,我標注了每一部分是什么:
(1)1和2是橫向和縱向拉伸的區域;
(2)3和4是內容在橫向和縱向要顯示的區域。
你可以看到,上下左右都有一個黑色的線段。
你要問了,那個對話框凸出來的那個角怎么辦的呢?
首先,它跟圓角一樣,是不能被拉伸的(要不就變形了)!這點你要記住了。你看到我畫的線段2了嗎?標線2的上端的開始,正好是那個角的下端。也就是說,我縱向拉伸的區域,是不包括那個角的。
你在看右邊的4,為什么涵蓋了三角呢?4是什么?是縱向顯示的內容區域,也就是說,如果你在里面寫一段話,縱向上擴展,向上我可以擴到三角的那個位置(當然,你也可以選擇不可以,看你的排版,如果覺得好看的話!)。
你還需要注意:
(1)你的.9.png必須繪有拉伸區域的黑線;
(2)黑線1和3的高度必須是1px,2和4的寬度必須是1px.
(2)手繪的黑線拉伸區必須是#000000,透明度100%,并且圖像四邊不能出現半透明像素;
4.顯示內容區域的標注有什么意義呢?
你可能會問:我拉伸四個邊,只需要標注兩個邊就可以了呀,就是1和2,也就是上和左的位置,下和右不就同時拉伸了嗎?我再標下和右(3和4)沒有什么意義了呀?
上面我們也提到了這個,那再我給你舉個例子:
在這里,你會看到,當你標注了內容顯示的區域(下和右位置)的時候,即便做了拉伸,文字也會保持在這個區域內。而如果你沒有標注內容顯示區域的時候,就會使這樣子:
錯誤的標注方式會讓排版看起來很混亂。所以我們需要修正內容區域的線段位置和長度。
把橫向的內容區域縮短到圓角以內,縱向的內容區域控制在輸入框的高度以內,這樣文字就可以正常顯示了。
總結
以上是生活随笔為你收集整理的Android .9图的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: bash-百度百科
- 下一篇: Android反编译工具与反编译步骤及常