Interpolator導致 的動畫執行實際效果

2021-09-24 06:54:03 字數 2326 閱讀 1818

accelerateinterpolator: 在動畫開始的地方速率改變比較慢,然後開始加速

objectanimator oa = objectanimator.offloat(view, "translationy", 0f,1100f);

oa.setduration(500);

//設定加速插值器---引數值越大,加速度越大

oa.setinterpolator(new accelerateinterpolator(5));

oa.start();

複製**

acceleratedecelerateinterpolator :在動畫開始與結束的地方速率改變比較慢,在中間的時候加速

objectanimator oa = objectanimator.offloat(view, "translationy", 0f,1100f);

oa.setduration(500);

oa.setinterpolator(new acceleratedecelerateinterpolator());

oa.start();

複製**

anticipateinterpolator :開始的時候向後移動,再向前移動,類似盪鞦韆,迴盪再往前

objectanimator oa = objectanimator.offloat(view, "translationy", 0f,1100f);

oa.setduration(500);

//設定回盪鞦韆插值器---引數值越大,迴盪效果越大

oa.setinterpolator(new anticipateinterpolator(8));

oa.start();

複製**

anticipateovershootinterpolator :開始的時候向後然後向前甩一定值後返回最後的值

objectanimator oa = objectanimator.offloat(view, "translationy", 0f,1100f);

oa.setduration(500);

oa.setinterpolator(new overshootinterpolator());

oa.start();

複製**

bounceinterpolator:動畫結束的時候彈起

objectanimator oa = objectanimator.offloat(view, "translationy", 0f,1100f);

oa.setduration(500);

oa.setinterpolator(new bounceinterpolator());

oa.start();

複製**

objectanimator oa = objectanimator.offloat(view, "translationy", 0f,1100f);

oa.setduration(500);

//設定正弦週期變化插值器---引數值為迴圈次數

oa.setinterpolator(new cycleinterpolator(4));

oa.start();

複製**

decelerateinterpolator :在動畫開始的地方先快後慢減速結束

objectanimator oa = objectanimator.offloat(view, "translationy", 0f,1100f);

oa.setduration(500);

oa.setinterpolator(new decelerateinterpolator());

oa.start();

複製**

overshootinterpolator:向前甩一定距離後再回到原來位置

objectanimator oa = objectanimator.offloat(view, "translationy", 0f,1100f);

oa.setduration(500);

oa.setinterpolator(new overshootinterpolator());

oa.start();

複製**

具體動畫效果請參考:這位大佬寫的這篇文章:

自定義控制項三部曲之動畫篇(二)——interpolator插值器

android之interpolator的用法詳解

acceleratedecelerateinterpolator 在動畫開始與結束的地方速率改變比較慢,在中間的時候加速 accelerateinterpolator 在動畫開始的地方速率改變比較慢,然後開始加速 anticipateinterpolator 開始的時候向後然後向前甩 anticip...

android之interpolator的用法詳解

android interpolator,經常和scorllercompat 配合使用,scrollercompat 是乙個控制滑動的類 interpolator 也可以通過 animation 的 setinterpolator 進行設定 interpolator 被用來修飾動畫效果,定義動畫的變...

MKPointAnnotation 導致的記憶體洩露

程式是在乙個map 上新增annotation,新增的時候有title 和 subtitle,之後會remove掉annotation 結果remove的時候老是有leak debug了半天,結果如下 mkpointannotation ann mkpointannotation an ann.ti...