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,目前只支持对矩形,圆形,圆角矩形的裁剪