特性

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

动画效果

策略

可以通过设置不同的动画策略来实现不同的滚动效果
默认的动画是小字符向大字符变化时向下滚动,反之向上滚动
也可以指定让滚动向同一个方向
进位动画可以从低位数字进位到高位数字,不止是适用于十进制。但只能用于长度小于10的字符串防止溢出整型数。只能用于包含0的字符序列,否则进位的计算将没有义。


字符的顺序

字符的顺序需要自行设置,告诉RollingTextView怎么从原字符滚动变化到目标字符 * 常用的字符顺序可以在CharOrder 常量中找到
当添加多个顺序时且都适用于目标字符和原字符,前面设置的优先级会更高

alphaBetView.addCharOrder(CharOrder.Alphabet);alphaBetView.addCharOrder(CharOrder.UpperAlphabet);alphaBetView.addCharOrder(CharOrder.Number);alphaBetView.addCharOrder(CharOrder.Hex);alphaBetView.addCharOrder(CharOrder.Binary);

滚动流畅度

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

其他

更多的想法可自行实现 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设置

<com.yy.mobile.rollingtextview.RollingTextView    android:id="@+id/alphaBetView"    android:layout_width="wrap_content"    android:layout_height="wrap_content"    android:text="i am text"    android:textSize="25sp"     android:textColor="#1d1d1d"    android:textStyle="bold"    android:gravity="center"    android:shadowColor="#ffdd00"    android:shadowDx="4dp"    android:shadowDy="4dp"/>

代码设置

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");

作者 张艺峰
原文链接 https://blog.csdn.net/haizixm/article/details/80778673

更多相关文章

  1. 分支和循环(二)(零基础学习C语言)
  2. Android(安卓)字符串应用浅析
  3. Android下的动画处理
  4. Android学习笔记-Android应用程序初步认识
  5. Android(安卓)动画效果(一): 四种动画基础(Alpha、Translate、Rotate
  6. Unity Android(安卓)在Windows环境下使用grep指令过滤log
  7. Android的Json字符串用GSON解析注意的问题
  8. Android启动页面定时跳转的三种方法
  9. ANDROID中EDITTEXT设置输入条件

随机推荐

  1. 循环链表(单双链表)
  2. Android的View组件的几大子类
  3. 一篇文章教会你搭建自己的linux虚拟机
  4. Zabbix5.0服务端和客户端安装
  5. MySQL 百万级数据分页查询及优化
  6. 【开发者必看】2020年移动应用趋势洞察白
  7. Redis系列5-实现简单消息队列
  8. Redis系列6 - Redis事务
  9. Redis系列二 rdb 和 aof 持久化的区别
  10. Java Volatile Atomic关键字