Androidアニメーションの開始位置と終了位置が異なる問題

779 ワード

この間、Cameraの手動タッチパネルフォーカス機能を作り、FocusAreaとMeteringAreaをタッチパネル位置に設定し、その位置でスケールアニメーションScaleAnimationを再生する必要があります.
ズームアニメーションはImageViewで再生され、最初はImageView:setXとsetYでアニメーションの位置を設定していましたが、奇妙なことが起こり、ズームアニメーションは場所から徐々にタッチスクリーンの位置に移動します!最初からタッチスクリーンの位置で再生するのではありません.ImageViewに画像だけが表示されていれば問題ありません.
後でsetLayoutParamsに変えておけば大丈夫です.しかし原因を知らないで、大神が解釈することができます
RelativeLayout.LayoutParams mIvFocusLayoutParams;  
mIvFocusLayoutParams = (RelativeLayout.LayoutParams)mIvFocusAnimation.getLayoutParams();  
int left = (int)event.getX() - mIvFocusAnimation.getWidth()/2;
int top = (int)event.getY() - mIvFocusAnimation.getHeight()/2;
mIvFocusLayoutParams.leftMargin = left;
mIvFocusLayoutParams.topMargin = top;
mIvFocusAnimation.setLayoutParams(mIvFocusLayoutParams);