自定義動畫知識點:
繪制
Invalidate觸發(fā)繪制(刷新)
ValueAnimator屬性動畫
canvas畫布的一些操作:translate(重新映射畫布上的 (0,0) 位置),alpha,scale(縮放當前繪圖至更大或更?。瑀otate(旋轉當前繪圖)
繪制圖前先理清圖像的關系:比如圓的半徑,圓心在屏幕的位置
1、創(chuàng)建動畫的類繼承view,并實現構造函數

2、定義動畫圖像的各種屬性:半徑、間距

要畫圖前首先要確定圖像的位置,大小
可以畫圖像布局示意圖:

大圓半徑為3R,小圓半徑為1R,兩圓間距為0.5R。則可以得出:
布局圖像最大長度minWidth:(2*3R+2*R+0.5R)= 8.5R
布局圖像最大高度minHight:2*3R=6R
圓心位置:屏幕寬度為width,屏幕高度為hight
大圓心所在水平位置Cx:(width-minWidth)/ 2+3R
大圓心所在豎直位置Cy: hight/2
3、通過onSizeChaged獲得對應的尺寸變化
4、onDraw方法進行對應的繪制

使用drawCircle需要:cx,cy,半徑,畫筆
因此需要自己配置畫筆:

實現動畫效果:
duration:動畫的持續(xù)時間
repeatCount:動畫的重復
每次動畫都重新繪制:invalidate()

同理:在創(chuàng)建一個動畫

同時執(zhí)行動畫:animator.playTogether()
啟動動畫和結束動畫:

設置點擊事件:

初始化點擊事件:

并在main_Activity中調用init()即可實現動畫: