安卓垂直抖動動畫,實現小球掉落彈起效果
阿新 • • 發佈:2019-01-29
實現方法:
private void showShakeAnimation(final View view, final int y){ if(y>=0){ return; } TranslateAnimation anim = new TranslateAnimation(0, 0, 0, y); anim.setInterpolator(new CycleInterpolator(1f)); anim.setDuration(200); anim.setAnimationListener(new Animation.AnimationListener() { @Overridepublic void onAnimationStart(Animation animation) { } @Override public void onAnimationEnd(Animation animation) { showShakeAnimation(view, y + 3);//迴圈跳動 } @Override public void onAnimationRepeat(Animation animation) { } }); view.startAnimation(anim); }
呼叫方法:
showShakeAnimation(view, -9);
這裡傳入的y=-9;實現3次跳動後停止,缺點是沒有考慮重力加速度的問題,不過目前效果已夠用。