长图片自动循环滚动效果

作者:丶E

链接:https://www.jianshu.com/p/48a89e678d6c

先看小红书的效果

小红书.GIF

说说思路

滚动效果用RecyclerView实现。RecyclerView有个smoothScrollToPosition方法,可以滚动到指定位置(有滚动效果,不是直接到指定位置),不了解的看这里RecycleView4种定位滚动方式演示。每一个Item是一张长图,这样首尾相接滚动起来(滚到无限远)就是无限循环的效果,然后再改变滚动的速度,完成。

无限循环

将RecyclerView的Item数量设置成很大的值,用smoothScrollToPosition方法滚到很远的位置,就能实现这样的效果,很多banner轮播图的实现也是如此;

控制smoothScrollToPosition的滑动速度

参考RecyclerView调用smoothScrollToPosition() 控制滑动速度,修改MILLISECONDS_PER_INCH的值即可

图片宽度充满屏幕、高度按图片原始宽高比例自适应

使RecyclerView不能手指触碰滑动

加层View屏蔽掉事件就好了

完成效果

WW.GIF

Demo

github:https://github.com/forvv231/EasyScollImage

apk:https://fir.im/gfdj

By the way

不要吐槽这背景图片、不喜欢、Demo代码里面还有别的( ̄▽ ̄)~*

●编号367,输入编号直达本文

●输入m获取到文章目录

推荐↓↓↓

Java编程

更多推荐《18个技术类公众微信》

涵盖:程序人生、算法与数据结构、黑客技术与网络安全、大数据技术、前端开发、Java、Python、Web开发、安卓开发、iOS开发、C/C++、.NET、Linux、数据库、运维等。

  • 发表于:
  • 原文链接https://kuaibao.qq.com/s/20181017B0KTV300?refer=cp_1026
  • 腾讯「云+社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。

扫码关注云+社区

领取腾讯云代金券

年度创作总结 领取年终奖励