彩色跑马灯TextView
2016-03-17 23:30
183 查看
版权声明:本文为博主原创文章,遵循 CC 4.0 by-sa 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/Minani329/article/details/50918268
利用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); } } }
相关文章推荐
- MarqueeTextview(跑马灯)
- Android使用TextView实现跑马灯效果
- TextView跑马灯效果实现
- Android TextView控件跑马灯效果
- 安卓——实现TextViewde的跑马灯效果
- Android TextView 横向滚动(跑马灯效果)
- Android中TextView不获取焦点可以实现跑马灯的效果
- ListView 中的TextView实现跑马灯效果
- 使用TextView可以实现跑马灯效果
- 在同一个layout里,多个textview单行滚动显示(跑马灯效果)
- TextView 实现跑马灯效果
- Android学习随笔之TextView实现跑马灯
- 使用TextView实现跑马灯的效果
- TextView自定义跑马灯效果
- android TextView实现跑马灯效果
- 设置textview文字跑马灯效果
- TextView-跑马灯效果
- Android自定义TextView跑马灯效果
- android TextView实现跑马灯效果
- Android利用TextView制作跑马灯该效果