RollingTextView 带滚动动画的 Android TextView开源项目

我要开发同款
匿名用户2018年03月09日
127阅读

技术信息

开源地址
https://github.com/YvesCheung/RollingText
授权协议
Apache-2.0

作品详情

RolligTextView

特性

使用简单,API与TextView类似,setText方法可带有上下滚动的动画

支持xml设置adroid:textSize/adroid:textColor/adroid:textStyle等常用属性

可高度定制,支持任何单个字符的上下滚动变化效果

动画效果策略

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

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

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

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

字符的顺序

字符的顺序需要自行设置,告诉RolligTextView怎么从原字符滚动变化到目标字符

常用的字符顺序可以在 CharOrder 常量中找到

当添加多个顺序时且都适用于目标字符和原字符,前面设置的优先级会更高

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

滚动流畅度

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

其他

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

配置

在App根目录的projectbuild.gradle文件中添加:

 allprojects {      repositories {          ...         mave { url 'https://jitpack.io' }      } }

在对应的module中添加依赖:

 depedecies {       compile 'com.github.YvesCheug:RolligText:1.2.0' }使用xml设置<com.yy.mobile.rolligtextview.RolligTextView adroid:id="@+id/alphaBetView" adroid:layout_width="wrap_cotet" adroid:layout_height="wrap_cotet" adroid:text="i am text" adroid:textSize="25sp" adroid:textColor="#1d1d1d" adroid:textStyle="bold" adroid:gravity="ceter" adroid:shadowColor="#ffdd00" adroid:shadowDx="4dp" adroid:shadowDy="4dp"/>代码设置fial RolligTextView rolligTextView = fidViewById(R.id.alphaBetView);rolligTextView.setAimatioDuratio(2000L);rolligTextView.setCharStrategy(Strategy.NormalAimatio);rolligTextView.addCharOrder(CharOrder.Alphabet);rolligTextView.setAimatioIterpolator(ew AccelerateDecelerateIterpolator());rolligTextView.addAimatorListeer(ew AimatorListeerAdapter() {    @Override    public void oAimatioEd(Aimator aimatio) {        //fisih    }});rolligTextView.setText("i am a text");许可证Copyright 2018 Yves Cheug   Licesed uder the Apache Licese, Versio 2.0 (the "Licese");   you may ot use this file except i compliace with the Licese. You may obtai a copy of the Licese at https://www.apache.org/liceses/LICENSE-2.0 Uless required by applicable law or agreed to i writig, software distributed uder the Licese is distributed o a "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the Licese for the specific laguage goverig permissios ad limitatios uder the Licese.

功能介绍

RollingTextView 特性 使用简单,API与TextView类似,setText方法可带有上下滚动的动画 支持xml设置android:textSize/android:textCo...

示例图片

声明:本文仅代表作者观点,不代表本站立场。如果侵犯到您的合法权益,请联系我们删除侵权资源!如果遇到资源链接失效,请您通过评论或工单的方式通知管理员。未经允许,不得转载,本站所有资源文章禁止商业使用运营!
下载安装【程序员客栈】APP
实时对接需求、及时收发消息、丰富的开放项目需求、随时随地查看项目状态

评论