自定义控件之——文字闪动
来源:互联网 发布:js将数据存入二维数组 编辑:程序博客网 时间:2024/06/05 22:53
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;//1、继承TextViewpublic class ShineTextView extends TextView { private LinearGradient mLinearGradient; private Matrix mGradientMatrix; private Paint mPaint; private int mViewWidth = 0; private int mTranslate = 0; public ShineTextView(Context context, AttributeSet attrs) { super(context, attrs); }//2、覆写onSizeChanged()方法,这个方法会在这个view的大小发生改变是被系统调用,w,h是view当前的宽和高;oldw ,oldh是改变之前的宽和高 @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(); // 创建LinearGradient并设置渐变颜色数组 // 第一个,第二个参数表示渐变起点 可以设置起点终点在对角等任意位置 // 第三个,第四个参数表示渐变终点 // 第五个参数表示渐变颜色 // 第六个参数可以为空,表示坐标,值为0-1 new float[] {0.25f, 0.5f, 0.75f, 1 } // 如果这是空的,颜色均匀分布,沿梯度线。 // 第七个表示平铺方式 // CLAMP重复最后一个颜色至最后 // MIRROR重复着色的图像水平或垂直方向已镜像方式填充会有翻转效果 // REPEAT重复着色的图像水平或垂直方向 mLinearGradient = new LinearGradient( 0, 0, mViewWidth, 0, new int[]{ Color.BLUE, 0xffffffff, Color.BLUE}, null, Shader.TileMode.CLAMP); mPaint.setShader(mLinearGradient); mGradientMatrix = new Matrix(); } } }//3、调用onDraw()方法,来绘制view的内容,super.onDraw()是系统自带的绘制view内容,可以在super.onDraw()方法之前和之后加一些自己想添加的动画或背景。 @Override protected 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); } }}
0 0
- 自定义控件之——文字闪动
- 自定义控件,闪动文字FlickeringTextView
- 自定义View之自定义文字闪动效果
- 自定义控件三部曲之绘图篇(十九)——LinearGradient与闪动文字效果
- 自定义控件三部曲之绘图篇(十九)——LinearGradient与闪动文字效果
- Photoshop文字之——打造闪动电子文字特效
- Android自定义View之绘制闪动的文字
- 闪动的文字和文字进度条控件
- Android自定义控件之——文字圆形边框(将文字绘制在圆中间)
- Android自定义控件之——文字圆形边框(将文字绘制在圆中间)
- Android自定义View之实现一个动态的文字闪动效果
- 自定义控件之绘图篇(二) —— 路径及文字
- 【Android UI】自定义TextView实现动态的文字闪动效果
- 【Android】自定义View-为文字添加动态闪动效果
- 继承TextView实现自定义动态文字闪动效果
- 自定义View之TextView的闪动效果
- Android自定义View之闪动的TextView
- 自定义View之TextView的闪动效果
- 课程练习一 Problem F id: 1005
- C/C++访问Lua中table元素方法总结
- 多线程渲染
- jQuery Validation插件onfocosout/onkeyup出错的解决方法
- videoInput 与VideoCapture
- 自定义控件之——文字闪动
- 将protege-owl API的doc文档添加到eclipse的编程坏境中
- android UEvent剖析
- 高内聚低耦合 浅解
- 荷兰国旗问题
- 算法时间复杂度
- 集合及运算(并查集)
- CompressFile工具类使用,zip和rar文件解压缩与打包操作Java源代码
- Unity Animator的使用技巧