彩色跑马灯TextView
来源:互联网 发布:淘宝上的丰胸仪有用吗 编辑:程序博客网 时间:2024/04/29 05:37
利用android中的LinearGradient,来实现滚动的颜色,其实就是一个矩阵在跑
package com.minami.qtest1;import android.content.Context;import android.graphics.Canvas;import android.graphics.Color;import android.graphics.LinearGradient;import android.graphics.Matrix;import android.graphics.Paint;import android.graphics.Shader;import android.util.AttributeSet;import android.widget.TextView;public class RainbowTextView extends TextView { private int mViewWidth=0; private float mTranslate = 0; private Paint mPaint; private LinearGradient mLinearGradient; private Matrix mMatrix; public RainbowTextView(Context context) { super(context); } public RainbowTextView(Context context, AttributeSet attrs) { super(context, attrs); } public RainbowTextView(Context context, AttributeSet attrs, int defStyleAttr) { super(context, attrs, defStyleAttr); } @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(); mLinearGradient = new LinearGradient(0, 0, mViewWidth, 0, new int[]{Color.RED, Color.GREEN, Color.YELLOW}, null, Shader.TileMode.MIRROR); mPaint.setShader(mLinearGradient); mMatrix = new Matrix(); } } } @Override protected void onDraw(Canvas canvas) { super.onDraw(canvas); if (mMatrix != null) { mTranslate += mViewWidth / 5; if (mTranslate>2*mViewWidth){ mTranslate=-mViewWidth; } mMatrix.setTranslate(mTranslate,0); mLinearGradient.setLocalMatrix(mMatrix); postInvalidateDelayed(100); } }}
0 0
- 彩色跑马灯TextView
- TextView实现跑马灯
- TextView 跑马灯
- TextView跑马灯效果
- textview 跑马灯
- TextView跑马灯效果
- TextView实现跑马灯
- TextView跑马灯效果
- 跑马灯TextView
- TextView跑马灯效果
- TextView跑马灯效果
- TextView跑马灯效果
- TextView 跑马灯效果
- TextView 跑马灯效果
- android TextView跑马灯
- Android TextView跑马灯
- TextView跑马灯效果
- TextView跑马灯总汇
- Activity四种启动模式
- applicationContext.xml 配置文件的存放位置
- [随笔]#define宏定义可变参数的使用
- JS setTimeout和setInterval调用对象自身方法
- iOS中数据存储方式
- 彩色跑马灯TextView
- UITableViewCell和UICollectionViewCell创建的三种方式及应用选择
- String、StringBuffer与StringBuilder之间区别
- 通过storyboard找到视图控制器
- utilities——C++常用仿函数(二)
- 做java的web开发有用过多线程吗
- PB setfilter函数详解
- iOS开发——Block引起循环引用的解决方案
- 综合布线系统之7个子系统构成