我们在登录时,当密码错误时,经常会出现登录按钮的摇头动画,今天刚好学到自定义动画,分享一下。
下面为自定义动画类:
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方法里面,我们还可以自定义自己需求的很多动画。有兴趣的大家都可以试试~