打造一个有悬浮感的3d广告效果viewpager

受到某些启发 ,决定打造一个有悬浮感的广告轮播效果。

初始设想如图:

打造一个有悬浮感的3d广告效果viewpager

如图所示就是中间突出,两边能够凸显出中间的view

一般广告轮播都是用viewpager实现的,所以这个也不例外。

先上最终效果图:

打造一个有悬浮感的3d广告效果viewpager

通过上图的的效果可以知道两边的view一开始有透明度和旋转变化。变成中间的view的时候就是正常的。

话不多说分析代码

首先是布局文件

打造一个有悬浮感的3d广告效果viewpager打造一个有悬浮感的3d广告效果viewpager

这段代码最关键的是LinearLayout中  

android:clipChildren="false"
通过这个设置控件的大小可以超出他的范围,然后设置ViewPager的左右margin从而达到左右两边试图能够显示的效果

然后就是viewpager 找到控件,设置数据,设置adater 

相信设置数据比较简单,就不详细说了。

创建一个MyAdater 继承PagerAdapter

打造一个有悬浮感的3d广告效果viewpager

这部分一般ViewPager都是一样的,也不难理解。

目前效果如下图:

打造一个有悬浮感的3d广告效果viewpager



接下来就是设置旁边view的效果,通过viewpager的接口PageTransformer实现。

  打造一个有悬浮感的3d广告效果viewpager

最后给ViewPager设置效果

这样基本的就完成了。

但是作为广告轮播还是有很多功能没有实现,比如自动轮播,循环轮播,指示器。


代码已经上传github,有用的话希望老哥怒甩satr 或者 fork 改进

github地址:https://github.com/ajjoke/AdViewPager