.9圖控制內(nèi)容區(qū)域

前言

點9圖示一種可伸縮的位圖,如果你某個View用了點9圖做background,Android會根據(jù)點9圖的設置來自動為你調(diào)整、適應內(nèi)容拯钻。點9圖是標準的PNG格式圖像,被一圈1像素寬的邊緣包圍撰豺,并且保存的時候擴展名一定要是“.9.png”粪般,還要保存在“res/drawable/”目錄。
以上的官方對點9圖的介紹污桦。

簡單使用:

圖4
圖5

圖4是一個比較常見點9圖的使用亩歹,用這張點9圖做控件背景,控件會根據(jù)左邊點區(qū)域(圖4的點1)和上邊點區(qū)域(圖4的點2)做縱向和橫向的拉伸,拉伸后如圖5的效果小作。這也是我們使用比較多的情況亭姥。
但接下來我要講的不是點9圖自動拉伸的使用,而是講如何用點9圖來控制內(nèi)容顯示區(qū)域躲惰。

問題

Button

相信很多人在開發(fā)過程中都有遇到過這樣的問題致份,設計切了一張下面帶陰影效果的Button背景圖变抽,如果直接拿來設置Background础拨,當設置文本時用android:gravity="center",你會發(fā)現(xiàn)文案會在背景偏下方的位置绍载。如下圖:

button

原因相信大家也知道诡宗,因為背景圖下方有陰影,所以整張圖(藍色框區(qū)域)的center自然不是我們想要的(紅色框)的center击儡。此時你可能自己利用android:padding屬性來謾慢調(diào)整位置塔沃,或者讓設計在上方加透明邊切成對稱的實現(xiàn)居中。

上面說的問題阳谍,其實也沒有什么工作量蛀柴,幾行代碼可以搞定。那看看下面這個問題

圖1

圖2

圖3

產(chǎn)品要求設計出如圖1矫夯,圖2的自定義控件鸽疾,里面的內(nèi)容支持圖片數(shù)字拼接和文本。設計給的背景圖如圖3训貌,內(nèi)容只能顯示在圖3右邊的框內(nèi)并居中制肮。
問題來了,此時再想讓控件里的內(nèi)容居中就比較麻煩了递沪,首先控件背景圖是不規(guī)則的豺鼻,顯示內(nèi)容的區(qū)域偏右,android:gravity="center"肯定不行款慨,另外文本的行數(shù)支持一行或兩行儒飒,數(shù)字拼接后的的圖片大小還不知道,不能通過android:padding寫死檩奠,怎樣才能讓控件的內(nèi)容一直處在右邊區(qū)域的中心呢桩了?
其實點9圖能很好地解決這種不對稱背景控制內(nèi)容位置的問題。

點9圖控制內(nèi)容區(qū)域

.9圖介紹.png

如圖9笆凌,大家都知道點1和點2的作用圣猎,但是很多人卻忽略了右邊點區(qū)域(點3)和下邊點區(qū)域(點4)的作用,它們其實可以控制縱向和橫向的顯示區(qū)域乞而。

上面問題中提到的自定義控件的問題送悔,用背景圖設置成點9圖如下

圖6

如圖6,點3和點4控制了縱向和橫向顯示的區(qū)域,此時它們橫縱相交的區(qū)域5就是內(nèi)容區(qū)域欠啤。如果用這張點9圖做控件背景荚藻,系統(tǒng)只會在區(qū)域5繪制控件內(nèi)容。
因此我們可以按照需求控制內(nèi)容顯示區(qū)域后洁段,再設置android:gravity="center"应狱,這樣無論里面的內(nèi)容怎么變化,一行或兩行祠丝,系統(tǒng)繪制時都會放在內(nèi)容區(qū)域的中心疾呻,那個復雜的位置問題就這樣輕松解決了。
同理写半,問題的button文案居中問題也可以用這個方法輕松解決岸蜗。

圖7

10.png

點9圖能很好的解決這種不對稱背景的控制內(nèi)容的問題。

END

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末叠蝇,一起剝皮案震驚了整個濱河市璃岳,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌悔捶,老刑警劉巖铃慷,帶你破解...
    沈念sama閱讀 206,839評論 6 482
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異蜕该,居然都是意外死亡犁柜,警方通過查閱死者的電腦和手機,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 88,543評論 2 382
  • 文/潘曉璐 我一進店門蛇损,熙熙樓的掌柜王于貴愁眉苦臉地迎上來赁温,“玉大人,你說我怎么就攤上這事淤齐」赡遥” “怎么了?”我有些...
    開封第一講書人閱讀 153,116評論 0 344
  • 文/不壞的土叔 我叫張陵更啄,是天一觀的道長稚疹。 經(jīng)常有香客問我,道長祭务,這世上最難降的妖魔是什么内狗? 我笑而不...
    開封第一講書人閱讀 55,371評論 1 279
  • 正文 為了忘掉前任,我火速辦了婚禮义锥,結(jié)果婚禮上柳沙,老公的妹妹穿的比我還像新娘。我一直安慰自己拌倍,他們只是感情好赂鲤,可當我...
    茶點故事閱讀 64,384評論 5 374
  • 文/花漫 我一把揭開白布噪径。 她就那樣靜靜地躺著,像睡著了一般数初。 火紅的嫁衣襯著肌膚如雪找爱。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 49,111評論 1 285
  • 那天泡孩,我揣著相機與錄音车摄,去河邊找鬼。 笑死仑鸥,一個胖子當著我的面吹牛吮播,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播锈候,決...
    沈念sama閱讀 38,416評論 3 400
  • 文/蒼蘭香墨 我猛地睜開眼薄料,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了泵琳?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 37,053評論 0 259
  • 序言:老撾萬榮一對情侶失蹤誊役,失蹤者是張志新(化名)和其女友劉穎获列,沒想到半個月后,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體蛔垢,經(jīng)...
    沈念sama閱讀 43,558評論 1 300
  • 正文 獨居荒郊野嶺守林人離奇死亡击孩,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 36,007評論 2 325
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了鹏漆。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片巩梢。...
    茶點故事閱讀 38,117評論 1 334
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖艺玲,靈堂內(nèi)的尸體忽然破棺而出括蝠,到底是詐尸還是另有隱情,我是刑警寧澤饭聚,帶...
    沈念sama閱讀 33,756評論 4 324
  • 正文 年R本政府宣布忌警,位于F島的核電站,受9級特大地震影響秒梳,放射性物質(zhì)發(fā)生泄漏法绵。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點故事閱讀 39,324評論 3 307
  • 文/蒙蒙 一酪碘、第九天 我趴在偏房一處隱蔽的房頂上張望朋譬。 院中可真熱鬧,春花似錦兴垦、人聲如沸徙赢。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,315評論 0 19
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽犀忱。三九已至募谎,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間阴汇,已是汗流浹背数冬。 一陣腳步聲響...
    開封第一講書人閱讀 31,539評論 1 262
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留搀庶,地道東北人拐纱。 一個月前我還...
    沈念sama閱讀 45,578評論 2 355
  • 正文 我出身青樓,卻偏偏與公主長得像哥倔,于是被迫代替她去往敵國和親秸架。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當晚...
    茶點故事閱讀 42,877評論 2 345

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

  • Android 自定義View的各種姿勢1 Activity的顯示之ViewRootImpl詳解 Activity...
    passiontim閱讀 171,519評論 25 707
  • 發(fā)現(xiàn) 關(guān)注 消息 iOS 第三方庫咆蒿、插件东抹、知名博客總結(jié) 作者大灰狼的小綿羊哥哥關(guān)注 2017.06.26 09:4...
    肇東周閱讀 12,029評論 4 62
  • ¥開啟¥ 【iAPP實現(xiàn)進入界面執(zhí)行逐一顯】 〖2017-08-25 15:22:14〗 《//首先開一個線程,因...
    小菜c閱讀 6,358評論 0 17
  • 感覺終于找到了一個樹洞沃测,可以盡情的吐槽啦缭黔!最近喜歡酸甜口,桔子吃的比較多蒂破,皮膚都有點發(fā)黃啦馏谨!忌口忌口啊附迷! 感覺有個...
    通通達閱讀 256評論 0 0
  • 捧一本書 在暖陽里沉醉 沁一壺茶 在余暉下獨飲 等一個人 伴著風銷聲匿跡 空氣吸干了所有的水汽 停在路邊等你 你惧互,...
    張dela閱讀 162評論 0 0