美文网首页
继承自TextView的变色效果

继承自TextView的变色效果

作者: 贝克街的猫大哥呀 | 来源:发表于2018-07-30 14:29 被阅读0次

    原理是两只画笔,不同颜色,都在绘制。

    当A笔画的时候,截取一部份,B同理,最后叠在一起,就显示了文字的变色效果。

    此VIEW继承自TextView后,只需要重写onDraw方法,并且把onDraw里面的super去掉。

    核心代码如下:

    drawText2方法如下:

    clipRect就是裁剪,可以看出,这里是只裁剪了左右,而没有管上下。

    其中baseLine,基线的算法是确定的,当需要drawText的时候,都要算出基线

    dx就是一个居中,将文字居中显示,算出左边的距离而以,容易理解。

    save & restore 这里可以理解成图层! 一个 save & restore 之间,都相当于是一个图层。 最终是N个图层叠加显示出最终效果。

    当然,如果需要有个渐变效果的话,就是需要不停的调用此方法:

    invalidate就是不停的重绘,最终就是调用onDraw。 但不仅权是调用当前VIEW的draw,会把父控件也全部重新绘制一遍。

    相关文章

      网友评论

          本文标题:继承自TextView的变色效果

          本文链接:https://www.haomeiwen.com/subject/ocbpmftx.html