Android 自定义 View 实现跑马灯效果

为什么要实现该效果?

刚开始是在公司项目中 有个点击飘心的效果,在飘心的同时,文字还能一致滚动【想象.png】。

在 Github 找了几个跑马灯的库,本以为都能实现,但是跑在项目上总会出现每次点击飘心动画后,滚动的文字都会重新开始滚动,这不是产品要的效果。(回到家后自己写了个 demo 测试 Github 上几个跑马灯效果很好的库都没问题,真真是打脸了)

先来推荐三个 GitHub 上实现跑马灯效果很不错的库

  • sunfusheng/MarqueeView 这是扩展了 ViewFlipper实现的。实现的效果如下:

  • gongwen/MarqueeViewLibrary 这也是扩展了ViewFlipper控件实现的,实现的效果如下:

  • 385841539/MarqueeView 这是继承了View 去实现,作者说了实现该库的原因用TextView 出现了各种坑啊 , 尤其是在页面中同时存在EditText 的时候,效果图如下:

膜拜以上几位大神,下面开始贴我实现的效果,一点都不丑,哈哈哈。

简单介绍我实现思路

也是通过自定义View 实现,我实现的只有两种滚动方式,从左往右滚动,从右往左滚动

  • 从左往右滚动( x 轴是逐渐减增大 ) 这个重点就在滚动的长度,我是利用**View的长度 + 文本的长度 做滚动的长度,当超过这个长度,从头开始绘制 View**
  • 从右往左滚动( x 轴是逐渐减小 ) 这个滚动长度也是**View的长度 + 文本的长度 做滚动的长度,当超过这个长度,从View 的 右边1/3开始绘制 View**

理清这两个思路就可以了,具体可以查看源码,欢迎加好友互相学习,微信号:weixin1105894953

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值