android簡單的自定義動畫

水的川發表於2016-02-27

我們在登入時,當密碼錯誤時,經常會出現登入按鈕的搖頭動畫,今天剛好學到自定義動畫,分享一下。

下面為自定義動畫類:

public class SelfAnim extends Animation{

@Override

public void initialize(int width, int height, int parentWidth,//在執行applyTransformation動畫之前執行,獲取控制元件寬高,比如當我們動畫圍繞控制元件中心點旋轉時會用到。

int parentHeight) {

// TODO Auto-generated method stub

super.initialize(width, height, parentWidth, parentHeight);

}

@Override

protected void applyTransformation(float interpolatedTime, Transformation t) {//interpolatedTime從0,1變化當動畫結束時變為1。

// TODO Auto-generated method stub

t.setAlpha(interpolatedTime);//alpha的動畫

t.getMatrix().setTranslate((int)Math.sin(interpolatedTime*10)*5, 0);//點選登入時,當密碼錯誤,登入按鈕的搖頭動畫。5為振幅,10為週期

super.applyTransformation(interpolatedTime, t);

}

}

然後在主頁面中只要呼叫這自定義動畫即可:

anim=new SelfAnim();     

 anim.setDuration(1000);

 button.startAnimation(anim);

簡單的搖頭動畫,在applyTransformation方法裡面,我們還可以自定義自己需求的很多動畫。有興趣的大家都可以試試~


相關文章