2つのアニメーションを一緒に「チェーン」しようとしているので、もう一方が完了するともう一方が始まります。これは1つの問題を除いて動作しています。最初のアニメーションが完了すると、元の位置に戻ります。私は真実の後に記入を設定しています。ほかに何が足りないのですか?Android Chain Animation
ここに私が使用しているコードがあります。これはLinearLayoutを拡張しているクラスにあります。
// FIRST ANIMATION
mAnimation = new TranslateAnimation(0, PANEL_END_X, 0, 0);
mAnimation.setDuration(PANEL_TRANSITION_TIME);
mAnimation.setFillAfter(true);
mAnimation.setAnimationListener(new Animation.AnimationListener() {
public void onAnimationEnd(Animation animation) {
// FIRST ANIMATION COMPLETE, CALL THE SECOND ANIMATION
startAnimation(mAlphaAnimation);
}
});
// SECOND ANIMATION
mAlphaAnimation = new AlphaAnimation(1.0f, 0.0f);
mAlphaAnimation.setDuration(PANEL_ALPHA_TRANSITION_TIME);
mAlphaAnimation.setFillAfter(true);
ソリューション:私はこれが私の満足に動作するように得ることができる
唯一の方法は、AnimationSet
を使用していたが、最初のアニメーションの+オフセット期間を開始するために、第2のアニメーションの開始オフセットを設定します少々詰め物。彼らは私の場合は完全に正確である必要はありませんでした。
CommonsWareが示唆しているようにさまざまな値で試してみましたが、新しい値を取る前に値が元の値に戻ってしまうようなタイプの「スナップ」効果が常に得られます。
AnimationSet.Builderは、私が必要としていたものです。http://developer.android.com/reference/android/animation/AnimatorSet.Builder.html。 – Steve