Android中的HTextView库实现TextView动画效果

 更新时间:2023年12月02日 10:18:39   作者:阿博聊编程  
HTextView是一个用来给TextView里的文字做各种转换动画的开源库,不仅提供了多种动画选择,而且还有重复字符的位移动画,虽然并没有多么复杂,但是它使用的这些典型的设计模式以及各种动画的实现确实可以从中让我们学到不少知识

Android开发中,我们可能会遇到实现某个TextView实现动画效果。关于这种需求,我给小伙们推荐推荐HTextView开源库,希望能小伙伴们提高开发效率。HTextView是一个用来给TextView里的文字做各种转换动画的开源库。

HTextView前言

第一次看到这个库的时候就被这些动画吸引了,不仅提供了多种动画选择,而且还有重复字符的位移动画,的确别出心裁,虽然实现起来并不是多么复杂,但是从1700+的star数上还是可以看出它的受欢迎程度,所以今天我们就来分析看看它到底是如何实现的.有哪些值得我们借鉴的地方,又有哪些不完善的地方。

HTextView的简单使用方法

HTextView的使用方法还是比较简单的,只需要调用hTextView.setAnimateType();来设定一种动画的类型,再调用hTextView.animateText();将字符串传入就可以执行切换动画了,此外还提供了hTextView.reset();方法来重置动画,具体代码如下:

hTextView.setAnimateType(HTextViewType.SCALE);
hTextView.animateText(sentences[mCounter]);

HTextView引入

写博客的时候,最新的版本是0.1.6。小伙伴们使用的时候,可以看看有没有更新版本。引入基础模块:

implementation "com.hanks:htextview-base:0.1.6" 

下面的可以按需引入:

implementation "com.hanks:htextview-fade:0.1.6"       
implementation "com.hanks:htextview-line:0.1.6"       
implementation "com.hanks:htextview-rainbow:0.1.6"     
implementation "com.hanks:htextview-typer:0.1.6"     
implementation "com.hanks:htextview-scale:0.1.6"       
implementation "com.hanks:htextview-evaporate:0.1.6"   
implementation "com.hanks:htextview-fall:0.1.6" 

line使用以及效果

<com.hanks.htextview.line.LineTextView
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:gravity="right"
    android:paddingRight="10dp"
    android:text="This is LineTextView\nToday is Monday"
    android:textSize="16sp"
    app:animationDuration="3000"
    app:lineColor="#1367bc"
    app:lineWidth="4dp"/>

fade使用以及效果

<com.hanks.htextview.fade.FadeTextView
    android:layout_width="240dp"
    android:layout_height="150dp"
    android:gravity="left"
    android:letterSpacing="0.08"
    android:lineSpacingMultiplier="1.3"
    android:text="This is FadeTextView"
    android:textColor="#fff"
    android:textSize="20sp"
    app:animationDuration="1500"/>

typer使用以及效果

<com.hanks.htextview.typer.TyperTextView
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:text="this is init sentence."
    app:charIncrease="3"
    app:typerSpeed="80"/>

rainbow使用以及效果

<com.hanks.htextview.rainbow.RainbowTextView
    android:layout_width="120dp"
    android:layout_height="wrap_content"
    android:gravity="right"
    android:text="this is init sentence"
    android:textSize="20sp"
    app:colorSpace="150dp"
    app:colorSpeed="4dp"/>

scale使用以及效果

<com.hanks.htextview.scale.ScaleTextView
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:text="this is init sentence"
    android:textSize="16sp"/>

evaporate使用以及效果

<com.hanks.htextview.evaporate.EvaporateTextView
    android:layout_width="match_parent"
    android:layout_height="100dp"
    android:gravity="center"
    android:paddingTop="8dp"
    android:text="this is init sentence"
    android:textSize="20sp"/>

fall使用以及效果

&lt;com.hanks.htextview.fall.FallTextView
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:paddingBottom="20dp"
    android:text="this is init sentence"
    android:textSize="16sp"/&gt;

总结

至此,我们就算是彻底了解了HTextView,虽然并没有多么复杂,但是它使用的这些典型的设计模式以及各种动画的实现确实可以从中让我们学到不少知识。尤其是各种动画的具体实现,能为我们自己在做相关动画时提供不少思路!感觉给TextView加动画效果还是很棒的,有机会的话可以在项目中使用到。

到此这篇关于Android中的HTextView库实现TextView动画效果的文章就介绍到这了,更多相关Android中的HTextView库实现动画内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • android检测SD卡读写权限方法

    android检测SD卡读写权限方法

    今天小编就为大家分享一篇android检测SD卡读写权限方法,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2018-08-08
  • Android实现短信、微信、微博分享功能

    Android实现短信、微信、微博分享功能

    微信、微博分享功能大家都体验过吧,非常方便我们的生活,下面通过本文给大家介绍Android实现短信、微信、微博分享功能,需要的朋友参考下吧
    2017-12-12
  • Android检测Cursor泄漏的原理以及使用方法

    Android检测Cursor泄漏的原理以及使用方法

    本文介绍如何在 Android 检测 Cursor 泄漏的原理以及使用方法,还指出几种常见的出错示例,同时该方法同样适合于其他需要检测资源泄露的情况,感兴趣的朋友可以了解下
    2013-01-01
  • Android中快速便捷的实现圆角按钮方法详解

    Android中快速便捷的实现圆角按钮方法详解

    圆角按钮在我们现在的界面中常常会用到,最近在开发中就又遇到了,所以想着有没有更快速更便捷的实现方法呢,所以就有了这篇文章,本文主要给大家介绍了关于Android中如何快速便捷的实现圆角按钮的相关资料,需要的朋友可以参考下。
    2017-05-05
  • Android 快速实现状态栏透明样式的示例代码

    Android 快速实现状态栏透明样式的示例代码

    下面小编就为大家分享一篇Android 快速实现状态栏透明样式的示例代码,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2018-01-01
  • 谷歌被屏蔽后如何搭建安卓环境

    谷歌被屏蔽后如何搭建安卓环境

    从5月27日开始,谷歌(Google)在华的几乎所有的服务都处于无法使用的状态,除了搜索引擎遭到屏蔽之外,谷歌的邮箱(Gmail)、日历(Calendar)、翻译(Translate)、地图(Maps)、分析(Analytics)和Google AdSense等产品也受到了影响。同时安装安卓环境的时候同样容易出现问题
    2014-06-06
  • Android实现商品展示效果

    Android实现商品展示效果

    这篇文章主要为大家详细介绍了Android实现商品展示效果,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2017-05-05
  • Android Scroll实现弹性滑动_列表下拉弹性滑动的示例代码

    Android Scroll实现弹性滑动_列表下拉弹性滑动的示例代码

    下面小编就为大家分享一篇Android Scroll实现弹性滑动_列表下拉弹性滑动的示例代码,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2018-01-01
  • MVVM和MVVMLight框架介绍及在项目中的使用详解

    MVVM和MVVMLight框架介绍及在项目中的使用详解

    这篇文章主要为大家介绍了MVVM和MVVMLight的介绍及在项目中的使用详解有需要的朋友可以借鉴参考下,祝大家除夕快乐多多进步
    2022-01-01
  • Android Jetpack Compose开发实用小技巧

    Android Jetpack Compose开发实用小技巧

    这篇文章主要为大家介绍了Android Jetpack Compose开发中的一些实用小技巧示例详解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2022-11-11

最新评论