Android中AS创建点9图片与使用
軟件環(huán)境:Android??Studio 2.1.2、win10家庭版電腦
.9圖片,對(duì)于Android開(kāi)發(fā)者而言,想必并不陌生。只是偶爾開(kāi)發(fā)中涉及,難免因擱置太久,已忘卻。今有重拾此知識(shí),現(xiàn)親測(cè)匯總,望于其他人有所助益!
一、.9概述
.9圖片是andriod app開(kāi)發(fā)里一種特殊的圖片形式,文件的擴(kuò)展名為:.9.png;
作用:就是在圖片拉伸的時(shí)候保證其不會(huì)失真。具體則是通過(guò)設(shè)置其四個(gè)“邊框”處,是圖片在指定位置進(jìn)行水平/垂直拉伸并且指定其圖片被覆蓋內(nèi)容的顯示位置,從而使得圖片的邊角處不致失真而影響美觀;
二、.9圖片制作詳解
(1)打開(kāi)AS,選擇需要.9操作的圖片,右擊,Create 9-Patch file
AS將默認(rèn)生成至當(dāng)前文件夾中,如下圖
雙擊打開(kāi),如下圖
如果僅是如此,不對(duì)此.9圖片做任何操作,其與一般圖片無(wú)異。
下面是我的測(cè)試頁(yè)面同布局,
(2)將原圖片(icon_dialog.png)作為TextView的背景,運(yùn)行之后你會(huì)發(fā)現(xiàn)兩個(gè)問(wèn)題:
其一,你會(huì)發(fā)現(xiàn)右下角變得很模糊,影響美觀
其二,就是“燈火輝煌”這幾個(gè)文字顯示的位置不對(duì)
此處不做運(yùn)行結(jié)果截圖展示。
(3)了解AS單擊.9圖片之后的頁(yè)面屬性(*)
標(biāo)識(shí)1:“Zoom”選項(xiàng),是來(lái)放大或縮小“1號(hào)區(qū)域”中我們的圖片,方便大家編輯;
標(biāo)識(shí)2:“patch scale”選項(xiàng),是來(lái)放大或縮小“2號(hào)區(qū)域”中我們的.9示例圖片;
標(biāo)識(shí)3:“Show lock”選中該選項(xiàng),把鼠標(biāo)放到我們編輯過(guò)的圖片上就會(huì)發(fā)現(xiàn),在圖片上顯示了一個(gè)類似于對(duì)角線的東西,那個(gè)是鎖,鎖住了不可編輯的區(qū)域;
標(biāo)識(shí)4:“Show content”選項(xiàng)是在右邊的查看區(qū)域中的圖片顯示我們需要拉伸的地方;
標(biāo)識(shí)5:,“Show patches”選項(xiàng)是將降級(jí)過(guò)的圖片的區(qū)域用其他顏色表示出來(lái),方便我們查看;
標(biāo)識(shí)6:“Show bad patches”?選中該選項(xiàng)就會(huì)出現(xiàn)紅色的線條將我們需要拉伸的區(qū)域,圈起來(lái),方便我們查看自己編輯過(guò)的需要拉伸的區(qū)域;
標(biāo)識(shí)7:頂部:在水平拉伸的時(shí)候,保持其他位置不動(dòng),只在這個(gè)點(diǎn)的區(qū)域做無(wú)限的延伸;
標(biāo)識(shí)8:左邊:在豎直拉伸的時(shí)候,保持其他位置不動(dòng),只在這個(gè)點(diǎn)的區(qū)域做無(wú)限的延伸;
標(biāo)識(shí)9:底部:在水平拉伸的時(shí)候,指定圖片里的內(nèi)容顯示的區(qū)域;
標(biāo)識(shí)10:右邊:在豎直拉伸的時(shí)候,指定圖片里的內(nèi)容顯示的區(qū)域;
(4)制作流程
進(jìn)入.9圖片的操作界面,右邊則是實(shí)時(shí)的顯示界面。接下來(lái),我們要對(duì)圖片進(jìn)行描邊了,描邊之前一定要清楚四條邊的含義,上左控制拉伸位置,下右控制內(nèi)容顯示位置。
4.1描邊時(shí),按下鼠標(biāo)左鍵,然后放在圖片邊界移動(dòng)就能描邊了,要是想要去掉黑邊,可以按下Shift鍵,然后點(diǎn)擊鼠標(biāo)左鍵。
我們先繪制左上兩邊,控制拉伸位置,如下繪制完成了之后,可以看右邊的閱覽圖,明顯比沒(méi)有繪制時(shí)邊角的清晰度更高。
此時(shí)為了防止右下角被拉伸,劃線的時(shí)候,特意將右下角處空出來(lái)。
4.2繪制完了圖片的拉伸區(qū)域之后,我們還需要繪制圖片包裹的內(nèi)容的顯示區(qū)域,如果沒(méi)有繪制的話,里邊的內(nèi)容是會(huì)從左到右依次顯示,這樣有時(shí)達(dá)不到我們想要的效果。
Demo中的圖片我想要圖片里面的文本顯示在中央?yún)^(qū)域,即不顯示在文本區(qū)域,所以我的黑色描邊可以這樣描。
通過(guò)對(duì)四條邊的描黑邊處理,我們就成功了避免了上述我們遇到的兩個(gè)問(wèn)題,拉伸的都是我們?cè)O(shè)置的區(qū)域,顯示的也是我們想要顯示的位置。
4.3對(duì)不同情況下描邊的遠(yuǎn)行結(jié)果運(yùn)行測(cè)試
4.3.1上訴四邊描述成功下的運(yùn)行界面展示
4.3.2四邊都不描的的運(yùn)行界面展示(編譯出錯(cuò))
4.3.3只描頂邊的運(yùn)行界面展示(編譯出錯(cuò))
4.3.4只描頂邊與左邊的運(yùn)行界面展示
?
運(yùn)行結(jié)果是右下角沒(méi)有拉伸變形,但是文字位置沒(méi)有處于正中間。
4.3.5只描底邊與右邊的運(yùn)行界面展示(編譯出錯(cuò))
4.3.6只描底邊與右邊,還有頂邊的運(yùn)行界面展示(編譯出錯(cuò))
(5)綜上所述
其一、AS 2.1.2對(duì)于.9圖片的編譯,至少需要描兩條邊——頂邊與左邊;
其二、AS制作.9圖,一定要分清楚左上邊,與右下邊的作用;
其三、AS對(duì)于解決邊角拉伸與內(nèi)容位置只是基于一些簡(jiǎn)單的操作,對(duì)于一些比較復(fù)雜的圖片需求,可能就不會(huì)那么容易了。
其四、.9.png圖片放在 drawable目錄下引用,放在mipmap目錄下回報(bào)錯(cuò)
總之,技術(shù)路漫漫兮,吾將上下而求索!
總結(jié)
以上是生活随笔為你收集整理的Android中AS创建点9图片与使用的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: 怎样成为精力管理的高手————作者:张遇
- 下一篇: Android点9图片被放大的问题