RollingTextView


preview

特性

  • 使用简单,API与TextView类似,setText方法可带有上下滚动的动画
  • 支持xml设置android:textSize/android:textColor/android:textStyle等常用属性
  • 可高度定制,支持任何单个字符的上下滚动变化效果

动画效果

策略

可以通过设置不同的动画策略来实现不同的滚动效果

默认的动画是小字符向大字符变化时向下滚动,反之向上滚动

也可以指定让滚动向同一个方向

进位动画可以从低位数字进位到高位数字,不止是适用于十进制。但只能用于长度小于10的字符串防止溢出整型数。只能用于包含0的字符序列,否则进位的计算将没有意义。

StrategyCompare

字符的顺序

  • 字符的顺序需要自行设置,告诉RollingTextView怎么从原字符滚动变化到目标字符
  • 常用的字符顺序可以在 CharOrder 常量中找到
  • 当添加多个顺序时且都适用于目标字符和原字符,前面设置的优先级会更高
alphaBetView.addCharOrder(CharOrder.Alphabet);alphaBetView.addCharOrder(CharOrder.UpperAlphabet);alphaBetView.addCharOrder(CharOrder.Number);alphaBetView.addCharOrder(CharOrder.Hex);alphaBetView.addCharOrder(CharOrder.Binary);
charOrderCompare

滚动流畅度

可以通过传递一个 factor 参数来调整动画的流畅度。 factor 值越接近0.0,滚动会显得比较跳跃。而 factor 值越接近1.0,滚动越平滑

stickyFactor

其他

更多的想法可自行实现 CharOrderStrategy 接口,定制自己的动画效果

配置

  1. 在App根目录的project build.gradle文件中添加:

    allprojects {    repositories {        ...        maven { url 'https://jitpack.io' }    }}
  2. 在对应的module 中添加依赖:

    dependencies {      compile 'com.github.YvesCheung:RollingText:1.2.0'}

使用

xml设置

代码设置

final RollingTextView rollingTextView = findViewById(R.id.alphaBetView);rollingTextView.setAnimationDuration(2000L);rollingTextView.setCharStrategy(Strategy.NormalAnimation);rollingTextView.addCharOrder(CharOrder.Alphabet);rollingTextView.setAnimationInterpolator(new AccelerateDecelerateInterpolator());rollingTextView.addAnimatorListener(new AnimatorListenerAdapter() {    @Override    public void onAnimationEnd(Animator animation) {        //finsih    }});rollingTextView.setText("i am a text");

更多相关文章

  1. Android中动态初始化布局参数以及ConstraintLayout使用中遇到的
  2. Android双向侧边滑动实现
  3. android中TextView中如何设置水平滚动效果
  4. [置顶] android中使用jni对字符串加解密实现分析
  5. Android(安卓)动画系列之逐帧(Frame)动画详解
  6. android中TextView中如何设置水平滚动效果
  7. Android(安卓)打造炫目的圆形菜单 秒秒钟高仿建行圆形菜单
  8. android中TextView中如何设置水平滚动效果
  9. android中TextView中如何设置水平滚动效果

随机推荐

  1. 【Android】Android permission 访问权限
  2. Android(安卓)多点触摸
  3. Android设置重复文字水印背景
  4. 在启动activity之前,调用application的onc
  5. android系统时间获取方式
  6. 有关Android中的java.lang.ClassCastExce
  7. Android在onCreate()中获得控件尺寸 (转)
  8. android微信摇一摇功能
  9. 也说Activity任务栈
  10. Android 如何让程序定时进行消息通知到通