我有一個Custom ViewGroup類和一個已添加到其中的圖像。當點擊屏幕時,我想要動畫添加的圖像以波浪形式穿過屏幕。我現在的東西是在下面,但儘管圖像以波浪形式移動,但它跳得太快,並且模糊不清。我怎樣才能放慢腳步,穩步前進?Android ValueAnimator Sin wave
ValueAnimator animator = ValueAnimator.ofFloat(0, 1); // values from 0 to 1
if(animateImage) {
incrementalValue = 0f;
animator.setDuration(4000);
animator.addUpdateListener(new ValueAnimator.AnimatorUpdateListener() {
@Override
public void onAnimationUpdate(ValueAnimator animation) {
float value = ((Float) (animation.getAnimatedValue()))
.floatValue();
float amplitude = 100f;
mImage.setTranslationX(incrementalValue);
mImage.setTranslationY((float) (amplitude * Math.sin((incrementalValue) * Math.PI)));
incrementalValue += 5f;
}
});
animator.setTarget(mImage);
animator.start();
}
謝謝你的作品太棒了!我改變了唯一的事情是mImage.setTranslationX(value + incrementalValue);而不是mImage.setTranslation(incrementalValue)。感謝您的時間和幫助! – user2687482 2014-09-01 20:54:38
所以你想要圖像橫向和上下移動?順便說一句upvote:D – Gumbo 2014-09-01 21:00:48
沒有在我的評論上面的setTranslationX語句圖像上下移動,但不會穿過屏幕。儘管它確實以一種正弦波形式運動。是的,你肯定會得到upvote :) – user2687482 2014-09-01 21:04:55