膨張したレイアウトのビューアニメーションを配置できません。次のコードスニペットを使用しました
pageView.startAnimation(AnimationUtils.loadAnimation(this,R.anim.right_to_left_anim.xml));
およびxml
<set xmlns:Android="http://schemas.Android.com/apk/res/Android"
Android:shareInterpolator="false">
<translate Android:fromXDelta="0%" Android:toXDelta="100%"
Android:fromYDelta="0%" Android:toYDelta="0%"
Android:duration="700"/>
</set>
欠けているものはありますか?
ありがとう。
以下は、ビューのスライドアニメーションのコードです。
1)inFromRightAnimation
private Animation inFromRightAnimation() {
Animation inFromRight = new TranslateAnimation(
Animation.RELATIVE_TO_PARENT, +1.0f,
Animation.RELATIVE_TO_PARENT, 0.0f,
Animation.RELATIVE_TO_PARENT, 0.0f,
Animation.RELATIVE_TO_PARENT, 0.0f);
inFromRight.setDuration(500);
inFromRight.setInterpolator(new AccelerateInterpolator());
return inFromRight;
}
2)outToLeftAnimation
private Animation outToLeftAnimation() {
Animation outtoLeft = new TranslateAnimation(
Animation.RELATIVE_TO_PARENT, 0.0f,
Animation.RELATIVE_TO_PARENT, -1.0f,
Animation.RELATIVE_TO_PARENT, 0.0f,
Animation.RELATIVE_TO_PARENT, 0.0f);
outtoLeft.setDuration(500);
outtoLeft.setInterpolator(new AccelerateInterpolator());
return outtoLeft;
}
3)inFromLeftAnimation
private Animation inFromLeftAnimation() {
Animation inFromLeft = new TranslateAnimation(
Animation.RELATIVE_TO_PARENT, -1.0f,
Animation.RELATIVE_TO_PARENT, 0.0f,
Animation.RELATIVE_TO_PARENT, 0.0f,
Animation.RELATIVE_TO_PARENT, 0.0f);
inFromLeft.setDuration(500);
inFromLeft.setInterpolator(new AccelerateInterpolator());
return inFromLeft;
}
4)outToRightAnimation
private Animation outToRightAnimation() {
Animation outtoRight = new TranslateAnimation(
Animation.RELATIVE_TO_PARENT, 0.0f,
Animation.RELATIVE_TO_PARENT, +1.0f,
Animation.RELATIVE_TO_PARENT, 0.0f,
Animation.RELATIVE_TO_PARENT, 0.0f);
outtoRight.setDuration(500);
outtoRight.setInterpolator(new AccelerateInterpolator());
return outtoRight;
}
そして今、アニメーションを開始します
pageView.startAnimation(inFromRightAnimation());
おかげで、
私はあなたがすでに答えを受け入れていることを知っています。しかし、私はこの返事が誰かがこれを読んでいるのに役立つと思います。あなたは試すことができます。xmlを削除するから、pageView.startAnimation(AnimationUtils.loadAnimation(this,R.anim.right_to_left_anim.xml));
ビューが最初に作成されたときにアニメーション化しようとしている場合は、layoutAnimation
XMLプロパティを設定するか、setLayoutAnimation()
を呼び出す必要があります。
ビューが動いているように見せるには、TranslateAnimation
;が必要です。この回答を参照してください: https://stackoverflow.com/a/4214490/832776 また、アニメーションを繰り返す場合は、setAnimationListener()
を呼び出し、onAnimationEnd()
アニメーションを再開します。
ビューを永続的に移動しようとしている場合は、これを参照してください: http://www.clingmarks.com/how-to-permanently-move-view-with-animation-effect-in-Android/4