Skip to content

dots preloader,一个md风格的preloader,loading,view

Notifications You must be signed in to change notification settings

wtus/DotsChangeView

Repository files navigation

##缘起 首先说一下这个效果的来源,如图所示(外网网速慢):

uplab上的效果

##我的工作 还是挺好看的,我就试着实现了一下,暂时就像先这样,有时间有动力再考虑做个lib screenshot ##实现的思路

  • 有三条 path,分别是上面的弧,下面的弧,中间几个点所在线段的path(用于计算平移的位置)
  • 利用 ValueAnimator 构造一个 0-1的变化的值
  • 在 ondraw 里分两部分,<0.5,和>0.5 分别画上面和小面,构造两个函数
  • 同时根据ValueAnimator的变化量,构造函数,使他移动 gamma 的距离
  • 表达能力太次,Talking is cheap,Show me the Code;下班吃饭。

##有哪些坑

  • 本来我想用中间那几个点画在bitmap上,然后通过bitmap的canvas平移实现中间那几个点的移动效果
  bitmapCanvas.translate(gamma*i,0);
canvas.drawBitmap(mBitmap,0,0,null);

后来发现不行,bitmapCanvas 的 translate 居然是相对的,就是说不如 bitmapCanvas.translate(1,0),按理说, 不管调用多少次始终只是平移到(-1,0)的位置,但是实际运行运行的效果是,每调用一次,他就平移一次,一直移动。 令我困惑的是,在onDraw()的参数canvas 又不是相对的,就是绝对平移的。这个是正常的。如果有谁知道,请告知小弟一声啊。

About

dots preloader,一个md风格的preloader,loading,view

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages