ここ数日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に設定し、アニメーションをリセットしようとしましたが、それでも同じです。