当前位置: 移动技术网 > IT编程>移动开发>Android > Android Textview实现颜色渐变滚动效果

Android Textview实现颜色渐变滚动效果

2019年07月24日  | 移动技术网IT编程  | 我要评论

互梦岛男性人体,自贡在线西秦会馆,山东特色菜

本文实例为大家分享了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); 
 
  } 
 
 } 
} 

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持移动技术网。

如对本文有疑问,请在下面进行留言讨论,广大热心网友会与你互动!! 点击进行留言回复

相关文章:

验证码:
移动技术网