阴影效果
1.CardView&FloatingActionButton&View
前两个控件属于MD风格,自带的属性值有设置阴影效果的方法;
CardView的cardElevation属性值可以实现阴影效果,填充数据为float类型;
FloatingActionButton的elevation属性值可以实现阴影效果,填充数据为float类型;
一般的View控件的elevation属性值可以实现阴影效果,填充数据为float类型;
总的来说,elevation的来源是手机界面根据3D分为x,y,z轴,从手机的左上角为坐标原点,向右为x轴,向下为y轴,向上为z轴,elevation是控件向z轴进行移动,视觉上有一种不同层次的感觉,这样投影效果就出来了;
2.点九图的阴影效果
分享一个点九图阴影制作网站:
http://inloop.github.io/shadow4android/
在学习过程中发现的这个网站,相当实用,该网站通过对点九图设置不同参数,可以在线查看效果。
下载想要的点九图,然后将其放入drawable文件夹下,可以在控件的背景中引用即可。这个阴影效果会非常的棒,基本上能够满足所有的阴影效果。
注:点九图不要放在mipmap文件夹,引用到背景上的时候可能会出现报错的现象;
3.通过xml文件进行绘制阴影效果
xml文件通过绘制图案(控件背景)实现阴影效果,利用layer-list重叠图案,可以做两个item,一个是底部,一个是顶部,底部做渐变效果,顶部就是填充颜色,就是绘制出一个阴影的效果。通过xml文件绘制的问题是可能效果不会太好,如果是简单的阴影效果可以实现,我之前是在做recyclerview的item中需要显示高亮的效果,然后用xml文件进行绘制的,效果不是特别好,但是基本满足UI要求;
阴影学习项目:源码地址