android nine patch圖片

傳統UI開發中,如果背景的大小不一樣,一般需要爲每種大小都製作一張圖片,這在button中尤爲明顯。當然我們也可以一小塊一小塊水平重複的畫,也可以垂直的話。在android中專門有一種叫nine patch圖片(以 9.png結尾)來解決背景大小不一樣時,只用一張背景圖片。

     用自帶的tools/draw9patch.bat 打開一張png圖片,我們可以在png圖片最外面的空格畫一個像素寬的黑線。左邊是編輯區,在左邊的圖中,左邊黑線的高度決定了垂直拉昇時的擴展區域,也即當垂直拉伸時,只有這個區域的圖片會被拉伸。同理圖片上邊的黑線長度決定了水平拉昇時的擴展區域。右邊區域是拉昇的效果圖,從上之下分別爲垂直拉伸,水平拉伸,以及兩個方向的拉昇。該工具提供了所見即所得的nine patch png編輯方式 。

 

把編輯後的png保存爲 9.png到工程目錄的res/drawable目錄下,如果你的9.png中沒有黑線,那麼eclipse是會報錯的。

效果圖如下。從中我們也可以理解爲什麼叫 nine patch,相當於把一張png圖分成了9個部分,分別爲4個角,4條邊,以及一箇中間區域,4個角是不做拉昇的,所以還能一直保持圓角的狀態,而2條水平邊和垂直邊分別只做水平和垂直拉伸,所以不會出現邊會被拉粗的情況,只有中間用黑線指定的區域做拉伸。結果是圖片不會走樣

 

注:畫圖片中水平和垂直方向的2跟黑色線,只需選中位置,按住鼠標左鍵,滑動即可。

 

 

上圖中,1,2,3,4四個區域是不會隨着圖片的拉伸而拉伸的,只有其他區域會拉伸。


本文來自CSDN博客,轉載請標明出處:http://blog.csdn.net/lijiecong/archive/2009/11/05/4774327.aspx

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章