打造一个有悬浮感的3d广告效果viewpager
受到某些启发 ,决定打造一个有悬浮感的广告轮播效果。
初始设想如图:
如图所示就是中间突出,两边能够凸显出中间的view
一般广告轮播都是用viewpager实现的,所以这个也不例外。
先上最终效果图:
通过上图的的效果可以知道两边的view一开始有透明度和旋转变化。变成中间的view的时候就是正常的。
话不多说分析代码
首先是布局文件
这段代码最关键的是LinearLayout中
android:clipChildren="false"
通过这个设置控件的大小可以超出他的范围,然后设置ViewPager的左右margin从而达到左右两边试图能够显示的效果
然后就是viewpager 找到控件,设置数据,设置adater
相信设置数据比较简单,就不详细说了。
创建一个MyAdater 继承PagerAdapter
这部分一般ViewPager都是一样的,也不难理解。
目前效果如下图:
接下来就是设置旁边view的效果,通过viewpager的接口PageTransformer实现。
最后给ViewPager设置效果
这样基本的就完成了。
但是作为广告轮播还是有很多功能没有实现,比如自动轮播,循环轮播,指示器。
代码已经上传github,有用的话希望老哥怒甩satr 或者 fork 改进
github地址:https://github.com/ajjoke/AdViewPager