为了账号安全,请及时绑定邮箱和手机立即绑定

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

标签:
Android

为什么要实现该效果?

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

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

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

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

    webp

    MarqueeView.gif


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

    webp

    screen_shot1.gif


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

    webp

    跑马灯.gif


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

简单介绍我实现思路

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

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

  • 从右往左滚动( x 轴是逐渐减小 )
    这个滚动长度也是View的长度 + 文本的长度 做滚动的长度,当超过这个长度,从View 的 右边1/3开始绘制 View



作者:_龙衣
链接:https://www.jianshu.com/p/8dcdf20c81c1


点击查看更多内容
TA 点赞

若觉得本文不错,就分享一下吧!

评论

作者其他优质文章

正在加载中
  • 推荐
  • 评论
  • 收藏
  • 共同学习,写下你的评论
感谢您的支持,我会继续努力的~
扫码打赏,你说多少就多少
赞赏金额会直接到老师账户
支付方式
打开微信扫一扫,即可进行扫码打赏哦
今天注册有机会得

100积分直接送

付费专栏免费学

大额优惠券免费领

立即参与 放弃机会
意见反馈 帮助中心 APP下载
官方微信

举报

0/150
提交
取消