先看下效果
在这里看到,TextView跟随手势的滑动来改变颜色。咱们先来分析下效果,就是这个TextView怎样实现颜色的改变。
在这里我们先写一个类去继承TextView
然后去实现它的三个构造函数。然后去自定义属性,在这里看到,它的颜色只有两种,我们就给他设置两个颜色的属性,一个是它的原来的颜色,还有一个就是改变的颜色。
然后去设置两个画笔,因为你要同时去修改TextView的颜色。然后就是要去,指定一个TextView的绘制方向,以为它有时候从右到左,有时候相反。这样就要指定方向。
这些做完后,我们就去画他们在ondraw方法里面判断是从哪里开始的,
,我们用canvas的drawText方法,,去画这个TextView
最后在提供可以设置进度的方法,并在方法里面调用invalidate方法,来重新调用onDraw方法,绘制。
还要给外界提供设置方向的方法
和设置画笔颜色的方法
这些做完就能实现TextView的变色效果,但是还要结合ViewPager使用才能达到我们本文所要求的的效果。
现将TextView添加到LinearLayout中,
在实现ViewPager
最后再给ViewPager设置监听事件,在监听事件中设置TextView改变的方法,就实现最终的效果。
代码已经上传到github上,欢迎大家star: