0

ここ数日Androidで作業していて、ボタンを押して矢印を回転させようとしています。RotateAnimationの使用と:

setFillAfter(true);

矢印は想定どおり最後の位置に留まります。しかし、ボタンをもう一度押すと、矢印yesが初期位置から回転し始めますが、アニメーションの最後の呼び出しからの「前の」矢印もあり、最後に「新しい」矢印と重なっています。だから私はどういうわけかsetFillAfterをリセット/クリアする必要があると思いますが、方法が見つかりません。

私のコードは次のようになります:

//Animation start
float Xaxis=0.835366f;
float Yaxis=0.676692f;
RotateAnimation rotateAnimation1 = new RotateAnimation(0, 180,
    Animation.RELATIVE_TO_SELF, Xaxis,Animation.RELATIVE_TO_SELF, Yaxis);
rotateAnimation1.setInterpolator(new LinearInterpolator());
rotateAnimation1.setDuration(2500);
rotateAnimation1.setRepeatCount(0);
image.startAnimation(rotateAnimation1);
rotateAnimation1.setAnimationListener(this);

@Override
public void onAnimationEnd(Animation animation) {
    animation.setFillAfter(true);
}

どんなアイデアでも役に立ちます。私は無効にし、clearAnimationを画像に、fillafterをfalseに設定し、アニメーションをリセットしようとしましたが、それでも同じです。

4

1 に答える 1

0

これは修正され、エミュレーターは共有GPUで構成され、完全に実行されます。高速で、以前のアニメーションの残りがありません。

于 2013-03-08T12:17:45.417 に答える