今天主要给大家带来一个在荣耀8上看到的一个小有意思的时钟效果,这个效果比较简单,俗话说,“人生在世,无非就是把复杂的事情整简单,抑或把简单的事情搞复杂”,既然比较简单,那咱们就多用几种方案来实现,进而开拓一下思路;
首先先上效果图:
--------------------------------------------------
如果你想看 GAStudio Github主页,请戳这里;
如果你想看 GAStudio更多技术文章,请戳这里;
QQ技术交流群:277582728;
--------------------------------------------------
从效果图上看,和常见表盘一样,每根线代表一条时间刻度,一个红色小圈随着时间的变化不断的移动,而差异的点主要在于表盘有一个突起,并且这个突起随着红点的移动而移动,现在针对这个效果,我们从以下三个思路来实现:
一、使用切图作为蒙板与刻度线进行图像混合;
二、自行勾勒对应形状Path与刻度线进行图像混合;
三、动态计算刻度线长度;
有同学可能会认为第一种和第二种核心原理一样,都是用的混合模式(Xfermode),确实如此,但最终实现结果会有差异,值得考虑;
接下来咱们分别来看下这三种实现;
一、使用切图作为蒙板与刻度线进行图像混合:
使用切图蒙版方案可以概括为如图的过程: