一个TextView改变颜色的自定义View,结合ViewPag

2017-12-24  本文已影响29人  兜兜里面没有钱

先看下效果

1-1

在这里看到,TextView跟随手势的滑动来改变颜色。咱们先来分析下效果,就是这个TextView怎样实现颜色的改变。
在这里我们先写一个类去继承TextView

然后去实现它的三个构造函数。然后去自定义属性,在这里看到,它的颜色只有两种,我们就给他设置两个颜色的属性,一个是它的原来的颜色,还有一个就是改变的颜色。

然后去设置两个画笔,因为你要同时去修改TextView的颜色。然后就是要去,指定一个TextView的绘制方向,以为它有时候从右到左,有时候相反。这样就要指定方向。

这些做完后,我们就去画他们在ondraw方法里面判断是从哪里开始的,

,我们用canvas的drawText方法,,去画这个TextView

最后在提供可以设置进度的方法,并在方法里面调用invalidate方法,来重新调用onDraw方法,绘制。

还要给外界提供设置方向的方法

和设置画笔颜色的方法

这些做完就能实现TextView的变色效果,但是还要结合ViewPager使用才能达到我们本文所要求的的效果。

现将TextView添加到LinearLayout中,

在实现ViewPager

最后再给ViewPager设置监听事件,在监听事件中设置TextView改变的方法,就实现最终的效果。

代码已经上传到github上,欢迎大家star:

github.com/chenzhikaizg/TextChangeView

上一篇下一篇

猜你喜欢

热点阅读