安卓自定义View文章数据滚动显示数值

本文已经在微信公众号【Android群英传】发表。

未经允许不得转载。
转载请注明作者AndroidMsky及原文链接
http://blog.csdn.net/androidmsky/article/details/53009886
本文Github代码链接
https://github.com/AndroidMsky/RandomTextView

Github代码已经更新为v1.3

2017年6月13日,我们加入了对view状态的监听。Activity退出,view自动销毁。不用重写onestroy了

@Override
    protected void onDetachedFromWindow() {
        super.onDetachedFromWindow();
        destroy();
    }

2016年11-30号,一位热心同学私信我反映会出现内存泄漏问题。特别推出v1.2检测并且,解决内存泄漏问题,并讲述一下,看过本文的直接点传送门。

2.v1.2更新内容

2016年11月11号,RandomTextView第一次更新为v1.1版本吧。
(解决了这样一个场景,一个抽奖的页面想滚动30秒,可能maxline加到100行的数字滚动,对此我要对性能进行优化避免过度绘制,在本文最后做出解释)

Github代码已经更新为v1.1

1.v1.1更新内容

先看看X金APP的效果:

这里写图片描述

我们自己实现的效果:

这里写图片描述

接下来介绍一下我的自定义View RandomTextView的用法和原理

用法

1.仓库

Add it in your root build.gradle at the end of repositories:

    allprojects {
        repositories {
            ...
            maven { url 'https://jitpack.io' }
        }
    }
Step 2. Add the dependency

    dependencies {
            compile 'com.github.AndroidMsky:RandomTextView:v1.3'
    }

2.考入

RandomTextView.java

只有200行绝对轻量方便。

xml中定义:

<com.example.liangmutian.randomtextview.view.RandomTextView
        android:id="@+id/rtv"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_centerHorizontal="true"
        android:layout_centerVertical="true"
        android:padding="0px"
        android:text="123456"
        android:textSize="28sp"/>

很开心的事,RandomTextView继承自TextView所以可以使用TextView的所有方法。color,size等等直接去定义就OK啦。

所有位数相同速度滚动:

mRandomTextView.setText("876543");
mRandomTextView.setPianyilian(RandomTextView.ALL);
mRandomTextView.start();

从左到右侧由快到慢滚动:

mRandomTextView.setText("12313288");
mRandomTextView.setPianyilian(RandomTextView.FIRSTF_FIRST);
mRandomTextView.start();

从左到右侧由慢到快滚动:

mRandomTextView.setText("9078111123");
mRandomTextView.setPianyilian(RandomTextView.FIRSTF_LAST);
mRandomTextView.start();

自定义每位数字的速度滚动(每帧滚动的像素):

mRandomTextView.setText("909878");
        pianyiliang[0] = 7;
        pianyiliang[1] = 6;
        pianyiliang[2] = 
  • 9
    点赞
  • 28
    收藏
    觉得还不错? 一键收藏
  • 21
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值