Android Textview实现颜色渐变滚动效果
程序员文章站
2023-11-30 21:43:04
本文实例为大家分享了android颜色渐变滚动展示的具体代码,供大家参考,具体内容如下
public class flashtextview extends...
本文实例为大家分享了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); } } }
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。
推荐阅读
-
Android Textview实现颜色渐变滚动效果
-
Android编程实现带渐变效果的圆角矩形示例
-
Android编程实现自定义渐变颜色效果详解
-
Android仿淘宝头条基于TextView实现上下滚动通知效果
-
Android基于TextView实现跑马灯效果
-
Android 使用CoordinatorLayout实现滚动标题栏效果的实例
-
Android Support Library 标题栏(Toolbar)滚动效果实现方法
-
Android用过TextView实现跑马灯效果的示例
-
android实现上下滚动的TextView
-
Android实现两个ScrollView互相联动的同步滚动效果代码