13.view輪廓與裁剪

view輪廓

簡(jiǎn)介:在5.0之前,我們的視圖都是二維的,只有x軸和y軸,現(xiàn)在,android新增了z軸。x軸和y軸描述了一個(gè)view的大小和位置,而z軸描述了view在父視圖上抬起的視覺,體現(xiàn)效果就是陰影。(5.0之前給view添加陰影效果都是給view設(shè)置一個(gè)帶陰影的背景圖,現(xiàn)在只需設(shè)置Z屬性)

1.View的Z屬性可以通過elevation和translationZ進(jìn)行修改。

? ? z = elevation+translationZ

? ? Z屬性不僅影響著view的陰影效果,還影響著view的繪制順序,在同一個(gè)父view內(nèi)部,Z屬性越小,繪制的時(shí)機(jī)就越早。

2.在Android的世界里,所有的View都是矩形的。View增加了一個(gè)新的描述來指明內(nèi)容顯示的形狀,這就是輪廓。

? ?通過shape設(shè)置的背景,根據(jù)shape的形狀進(jìn)行輪廓判定

? ?通過color設(shè)置的背景,View默認(rèn)其輪廓和View的大小一樣

? ?通過圖片進(jìn)行背景設(shè)置,View則無法獲知輪廓的形狀,需由我們指定

? ?View的輪廓可以通過outlineProvider屬性設(shè)置,默認(rèn)是依據(jù)于background的

? ? ? ? none:即使設(shè)置了evaluation也不顯示陰影

? ? ? ? background:按背景來顯示輪廓,如果background是顏色值,則輪廓就是view的大小,如果是shape,則按shape指定的形狀作為輪廓

? ? ? ? bounds: View的矩形大小作輪廓

? ? ? ? paddedBounds: View的矩形大小減去padding的值后的大小作輪廓。

? ? ? ? 注意:如果background是圖片,那只能通過代碼setOutlineProvider()來指定輪廓


View裁剪

簡(jiǎn)介:View的裁剪是指將View按照輪廓裁剪,能改變View的形狀,如圓形頭像

? ? ? ? ? ?先設(shè)置輪廓,再設(shè)置根據(jù)輪廓裁剪View,目前只支持對(duì)矩形,圓形,圓角矩形的裁剪

設(shè)置輪廓與裁剪
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

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

  • android-5.0 1.Design Library CardView RecyclerView ToolBa...
    Android大混子閱讀 3,026評(píng)論 0 13
  • 選擇qi:是表達(dá)式 標(biāo)簽選擇器 類選擇器 屬性選擇器 繼承屬性: color,font,text-align,li...
    love2013閱讀 2,327評(píng)論 0 11
  • 第六章 絲絲老師剛解放大家,鄭好就跑到林依依的邊上,對(duì)她說:“嘿!我的林小林!你怎么一點(diǎn)都沒有不開心的樣子呀...
    王王小諾谷閱讀 311評(píng)論 0 1
  • 01 玲玲跟我說,她前些天相親的那個(gè)男生,“長得一般,但是人很好,很紳士,我還挺滿意的”。 我笑她說,這是要脫單的...
    徐慕熹微閱讀 947評(píng)論 6 3
  • 去年5月,跑友“老虎大王”從“香格里拉——梅里100公里越野挑戰(zhàn)賽”載譽(yù)歸來。我從他嘴里聽到雨崩村、冰湖、神瀑這些...
    阿杜快跑閱讀 451評(píng)論 0 2