高仿QQ空间广告位 ——— 一个位置来回切换两张广告图

作者:阿钟

博客:http://my.****.net/a_zhon




高仿QQ空间广告位 ——— 一个位置来回切换两张广告图

刷动态时无意间发现了这个效果觉得用在打广告上实在是妙,用户只需要上下滑动列表就会自动切换广告图(感兴趣的可以在刷空间的时候留意一下)。


一:接下来就来说说这个效果的具体实现思路

  • 通过自定义ImageView、绘制两张图片在上面。通过刮刮卡原理在ImageView上绘制一个圆不断加大半径来显示第二张图片

  • 当广告位(也就是ImageVIew)刚好完全显示在屏幕底部时,便开始根据图片距离底部的距离来显示第二张广告(图片)


二:怎么知道View刚好显示在屏幕底部呢?

View中有一个getLocationOnScreen()函数可以用来获取当前view所在屏幕上的坐标(以左上角位坐标点),通过设置RecyclerView的滑动监听来不断获取View的坐标如下:

高仿QQ空间广告位 ——— 一个位置来回切换两张广告图高仿QQ空间广告位 ——— 一个位置来回切换两张广告图


三:将需要展示的两张图片绘制在ImageView上,先绘制的会置于底部显示

重写onMeasure()函数获取View的宽高并解析图片

高仿QQ空间广告位 ——— 一个位置来回切换两张广告图


四:接下就是绘制bitmap显示在ImageView上

高仿QQ空间广告位 ——— 一个位置来回切换两张广告图

这里就是依赖于paint的一个 Xfermode 属性Xfermode 教学 —>paint.setXfermode(new PorterDuffXfermode(PorterDuff.Mode.DST_IN)); 取两层绘制交集,显示下层内容


五:初始化我们的paint,并在滑动的时候画圆这样就可以使得底部的图片显示出来

高仿QQ空间广告位 ——— 一个位置来回切换两张广告图高仿QQ空间广告位 ——— 一个位置来回切换两张广告图


我是有底线的: Apk下载体验 

源码下载:

http://download.****.net/download/a_zhon/9907436

高仿QQ空间广告位 ——— 一个位置来回切换两张广告图



高仿QQ空间广告位 ——— 一个位置来回切换两张广告图

一命二运三风水,四修阴德五读书!

高仿QQ空间广告位 ——— 一个位置来回切换两张广告图

刘桂林

微信号 : Android_LiuGuiLin

新浪微博:@刘某人程序员