13.view轮廓与裁剪

view轮廓

简介:在5.0之前,我们的视图都是二维的,只有x轴和y轴,现在,android新增了z轴。x轴和y轴描述了一个view的大小和位置,而z轴描述了view在父视图上抬起的视觉,体现效果就是阴影。(5.0之前给view添加阴影效果都是给view设置一个带阴影的背景图,现在只需设置Z属性)

1.View的Z属性可以通过elevation和translationZ进行修改。

    z = elevation+translationZ

    Z属性不仅影响着view的阴影效果,还影响着view的绘制顺序,在同一个父view内部,Z属性越小,绘制的时机就越早。

2.在Android的世界里,所有的View都是矩形的。View增加了一个新的描述来指明内容显示的形状,这就是轮廓。

   通过shape设置的背景,根据shape的形状进行轮廓判定

   通过color设置的背景,View默认其轮廓和View的大小一样

   通过图片进行背景设置,View则无法获知轮廓的形状,需由我们指定

   View的轮廓可以通过outlineProvider属性设置,默认是依据于background的

        none:即使设置了evaluation也不显示阴影

        background:按背景来显示轮廓,如果background是颜色值,则轮廓就是view的大小,如果是shape,则按shape指定的形状作为轮廓

        bounds: View的矩形大小作轮廓

        paddedBounds: View的矩形大小减去padding的值后的大小作轮廓。

        注意:如果background是图片,那只能通过代码setOutlineProvider()来指定轮廓


View裁剪

简介:View的裁剪是指将View按照轮廓裁剪,能改变View的形状,如圆形头像

           先设置轮廓,再设置根据轮廓裁剪View,目前只支持对矩形,圆形,圆角矩形的裁剪

13.view轮廓与裁剪_第1张图片
设置轮廓与裁剪

你可能感兴趣的:(13.view轮廓与裁剪)