一个TextView改变颜色的自定义View,结合ViewPager使用,类似Tablayout

先看下效果


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

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

友情链接更多精彩内容