Android動畫開始位置和結束位置不一樣問題

前段時間做個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); 


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章