Android Textview实现颜色渐变滚动效果
作者:qq_29703975 发布时间:2023-08-28 05:30:08
标签:Android,Textview,渐变
本文实例为大家分享了Android颜色渐变滚动展示的具体代码,供大家参考,具体内容如下
public class FlashTextView extends android.support.v7.widget.AppCompatTextView {
private Paint mPaint;
private int mViewWidth;
private LinearGradient mLinearGradient;
private Matrix mGradientMatrix;
private int mTransalte;
public FlashTextView(Context context, @Nullable AttributeSet attrs) {
super(context, attrs);
}
@Override
protected 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();//获得当前绘制的Paint对象
mLinearGradient = new LinearGradient(
0,//渐变起始点x坐标
0,//渐变起始点y坐标
mViewWidth,//渐变结束点x点坐标
0,//渐变结束点y坐标
new int[]{
Color.BLUE, 0xffffffff,
Color.BLUE,Color.RED,Color.YELLOW},//颜色的int数组
null,//相对位置的颜色数组,可为null, 若为null,可为null,颜色沿渐变线均匀分布
Shader.TileMode.MIRROR);//平铺模式
mPaint.setShader(mLinearGradient);//给这个paint设置linearFradient属性
mGradientMatrix = new Matrix();
}
}
}
@Override
protected void onDraw(Canvas canvas) {
super.onDraw(canvas);
if (mGradientMatrix != null) {
mTransalte += mViewWidth / 5;
if (mTransalte > 2 * mViewWidth) {
mTransalte -= mViewWidth;
}
mGradientMatrix.setTranslate(mTransalte, 0);
mLinearGradient.setLocalMatrix(mGradientMatrix);//通过矩阵的方式不断平移产生渐变效果
postInvalidateDelayed(100);
}
}
}
来源:http://blog.csdn.net/qq_29703975/article/details/66973941


猜你喜欢
- -vmargs -Xms128M -Xmx512M -XX:PermSize=64M -XX:MaxPermSize=128M 这里有几个问
- 生成前:public static void main(String[] args) { new HashMap<Stri
- 在android开发中,我们时常会遇到对字符串中某些固定的字段实现可点击和颜色的设置,现粘贴处我在开发中如何设置这些属性的。代码如下:pri
- 1: Nacos搭建可以参考 https://www.jb51.net/article/196842.htmSpringCloud 版本&l
- 需求分析需求一:图片列表查询,从后台返回数据,将数据展示在页面上需求二:新增图片,将新增图书的数据传递到后台,并在控制台打印说明:此次案例的
- 众所周知,PDF文档除了具有较强稳定性和兼容性外, 还具有较强的安全性,在工作中可以有效避免别人无意中对文档内容进行修改。但与此同
- 承接上文 传送门一.完善登录功能按照常理,只有登陆过后才能进入首页,若没有登陆则应当直接跳转到登陆页面,这样的场景不就完美契合过滤器的功效吗
- 本文介绍了JAVA利用HttpClient进行HTTPS接口调用的方法,分享给大家,具体如下:1.为了避免需要证书,所以用一个类继承Defa
- 会话会话:用户打开浏览器进行的一系列操作直至关闭浏览器的过程看作是一次会话HTTP协议是无状态的,不能实现跟踪对话。比如进入一个网站,每次操
- Mybatis事务管理我们可以在mybatis-config.xml中配置事务管理器的实现<transactionManager ty
- Android studio so库找不到问题解决办法问题:java.lang.UnsatisfiedLinkError: dalvik.s
- SpringBoot监控Actuator,关闭redis监测方法当我们导入了spring-boot-starter-actuator这个依赖
- 教你一步一步用 java 设计生成二维码在物联网的时代,二维码是个很重要的东西了,现在无论什么东西都要搞个二维码标志,唯恐落伍,就差人没有用
- 1、java.util.concurrent.atomic 的包里有AtomicBoolean, AtomicInteger,AtomicL
- Springboot导入本地jar后 打包依赖无法加入1.本地jar包2.pom文件添加自定义jar包导入<!--自定义jar--&g
- 利用AsyncQueryHandler能异步任务获取手机联系人,增加用户体验,使用起来也很方便。不多说,上干货。布局文件main.xml&l
- 如果我们只是需要让用户能够拍摄照片,则可以直接请求已有相机应用拍摄照片并将照片返回给我们1、拍照1.1 请求相机功能在清单文件中添加: &n
- 前言Gradle,这是一个基于 JVM 的富有突破性构建工具。Gradle 正迅速成为许多开源项目和前沿企业构建系统的选择,同时也在挑战遗留
- SSM框架是JavaWeb必学的框架,虽说基本的增删改查很简单,但是当面临一些特殊情况时,有时还是会显得手足无措,此篇用来记录一些特殊场景下
- 1. 实现原理将key映射到 2^32 - 1 的空间中,将这个数字的首尾相连,形成一个环计算节点(使用节点名称、编号、IP地址)的hash