本文实例为大家分享了Android颜色渐变滚动展示的具体代码,供大家参考,具体内容如下
成都创新互联主要从事做网站、成都网站制作、网页设计、企业做网站、公司建网站等业务。立足成都服务清江浦,十多年网站建设经验,价格优惠、服务专业,欢迎来电咨询建站服务:13518219792public 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); } } }
分享文章:AndroidTextview实现颜色渐变滚动效果-创新互联
文章网址:https://www.cdcxhl.com/article16/pohgg.html
成都网站建设公司_创新互联,为您提供移动网站建设、品牌网站设计、静态网站、标签优化、网站设计公司、域名注册
声明:本网站发布的内容(图片、视频和文字)以用户投稿、用户转载内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如需处理请联系客服。电话:028-86922220;邮箱:631063699@qq.com。内容未经允许不得转载,或转载时需注明来源: 创新互联