方法:

自定义一个View,View继承TextView,使用LinearGradient渐染实现文字的闪动效果。

设置渐染的颜色:

@Overrideprotected void onSizeChanged(int w, int h, int oldw, int oldh) {super.onSizeChanged(w, h, oldw, oldh);if (mViewWidth == 0) {mViewWidth = getMeasuredWidth();if (mViewWidth > 0) {mPaint = getPaint();mLinearGradient = new LinearGradient(-mViewWidth, 0, 0, 0,new int[] { Color.RED, Color.BLUE, Color.YELLOW },null, Shader.TileMode.CLAMP);mPaint.setShader(mLinearGradient);mGradientMatrix = new Matrix();}}}

getMeasuredWidth();获取TextView的原始测量宽度;
getPaint():获取当前TextView绘制的Paint对象;

LinearGradient(线性渐变):LinearGradient(float x0, float y0, float x1, float y1,int colors[], float positions[], TileMode tile),x0、x1分别表示x轴移动起点、终点,y0、y1分别表示代表y轴移动起点、终点,colors[]用来存放渐变的颜色。positions[]用来存放与colors[]对应的颜色的相对分布位置,null表示所有的颜色按顺序均匀的分布。tile:渲染器平铺模式,共有三种模式:android.graphics.Shader.TileMode.CLAMP(API解释:replicate the edge color if the shader draws outside of its original bounds,如果着色绘制超出它的原始边界复制边缘颜色)、android.graphics.Shader.TileMode.REPEAT(API解释:repeat the shader's image horizontally and vertically,横向和纵向的重复渲染图片,平铺)、android.graphics.Shader.TileMode.MIRROR(API解释:repeat the shader's image horizontally and vertically, alternating  mirror images so that adjacent images always seam,横向和纵向的重复渲染器图片,以镜像方式平铺。)。

绘制闪烁平移量

这个过程类似火车过隧道,行驶速度为mViewWidth / 5,当mTranslate > 2 * mViewWidth时代表整列火车都已经离开隧道,这时候赋值-mViewWidth,相当于把火车恢复到过隧道之前的位置重新过隧道,-mViewWidth代表的是火车尾所在的位置。
@Overrideprotected void onDraw(Canvas canvas) {super.onDraw(canvas);if (mGradientMatrix != null) {mTranslate += mViewWidth / 5;if (mTranslate > 2 * mViewWidth) {mTranslate = -mViewWidth;}mGradientMatrix.setTranslate(mTranslate, 0);//设置平移量mLinearGradient.setLocalMatrix(mGradientMatrix);//设置着色矩阵postInvalidateDelayed(100);//延迟100ms刷新界面}}

												

Android闪动的文字效果相关推荐

  1. android 文字闪烁效果,Android Shader应用开发之霓虹闪烁文字效果

    本文实例为大家分享了android霓虹闪烁文字效果的具体代码,供大家参考,具体内容如下 package com.example.apple.shaderdemo; import android.con ...

  2. Android开发 之 LinearGradient与闪动文字效果

    LinearGradient与闪动文字效果 转自:http://blog.csdn.net/harvic880925/article/details/52350154 这篇就给大家讲setShader ...

  3. 自定义控件三部曲之绘图篇(十九)——LinearGradient与闪动文字效果

    前言:家和万事兴 相关文章: <Android自定义控件三部曲文章索引>:http://blog.csdn.net/harvic880925/article/details/5099526 ...

  4. Android 模仿微信读书左右对齐的文字效果

    左右对齐的文字效果,很常见,在大多数文章上都可以看到,这种效果能给人带来一种界面整洁的效果,但是如果只是左对齐的话,页面显示就会参差不齐:而app的页面大多数都是图形+文字的显示效果,左右对齐的文字效 ...

  5. android开发文字滚动代码,android实现滚动文本效果

    本文实例为大家分享了android实现滚动文本效果的具体代码,供大家参考,具体内容如下 效果图 实现方法 直接上代码 首先是一个自定义layout,继承自FrameLayout public clas ...

  6. php生成文字闪烁,如何用jquery实现闪烁文字效果

    用jquery实现闪烁文字效果的方法:首先获取到最新一条记事的pid,并在添加成功后来闪动这条记事:然后闪动的方法可以写到函数里,直接调用:最后有闪动就要有定时器,开启定时器即可. 本教程操作环境:w ...

  7. android动态设置文本居中显示图片,Android DrawableTextView图片文字居中显示实例

    在我们开发中,TextView设置Android:drawableLeft一定使用的非常多,但Drawable和Text同时居中显示可能不好控制,有没有好的办法解决呢? 小编的方案是通过自定义Text ...

  8. SpannableStringUtil实现丰富文字效果

    代码地址如下: http://www.demodashi.com/demo/15007.html ####前言 在android开发中,我们不免会用到 TextView 的各种显示效果,如字体样式,颜 ...

  9. Android自定义类似ProgressDialog效果的Dialog

    2019独角兽企业重金招聘Python工程师标准>>> Android自定义类似ProgressDialog效果的Dialog. 方法如下: 1.首先准备两张自己要定义成哪样子的效果 ...

最新文章

  1. 干货丨从概念到案例:初学者须知的十大机器学习算法
  2. DataGrid 中的特殊应用
  3. 清华90后女博士后:攻克了世界难题,却无法让父母明白我在做什么
  4. oracle 导出空表问题
  5. OpenShift - 部署MySQL主从复制
  6. 从新获取jar_SpringBoot配置文件放在jar外部
  7. spring cloud 学习(5) - config server
  8. 简单的下载者木马分析
  9. Comparator 实现集合中元素的比较.输入一个正整数数组,把数组里所有数字拼接起来排成一个数,打印能拼接出的所有数字中最小的一个。例如输入数组{3,32,321},则打印出这321323
  10. Frank-Wolfe方法
  11. 知识付费系统源码(开源知识付费系统平台下载)
  12. 不要害怕超级人工智能
  13. css3空中飘浮的气球动画
  14. isis 网络 level 2 iih_ngspice实例介绍2--直流扫描分析
  15. 怎么学习java?学习java的路线
  16. java初始化三门课程_[Java] 实验4参考代码
  17. 华为摄像机搜索软件_构建AI新生态,“软件定义”摄像机打造机器智能新捷径...
  18. 存货对总账查询语句(优化版)
  19. 【重新定义matlab强大系列八】利用matlab求局部值(函数islocalmax求局部最大值+函数islocalmin求局部最小值)
  20. bal插口_播放器上的“昂贵”插口,是噱头还是真有用

热门文章

  1. #define保姆级教程
  2. Game boy模拟器(6):输入
  3. 为找好工作而奔波-第三站:上海的招聘会没赶到...
  4. 蓝牙室内定位:创新融合定位系统解密
  5. bitcomet端口阻塞,黄灯,解决方案
  6. 高级网页设计Class-jQuery
  7. Scala 之 并行计算
  8. 软件测试教程编发中长发,真人教程︱短发、中发、长发的六款速成编发,手残党五分钟就能搞定!...
  9. --whole-archive 和 --no-whole-archive的区别
  10. 2019-8-19 [Linux] 1.简介 发行版本 组成 应用领域 与Windows对比