我有兩個圖像視圖翻譯點擊。 動畫適用於一個視圖,但對於第二個圖像視圖,我的動畫不是根據提供的座標。Android動畫翻譯在Android 2.2
當我點擊頂部圖像視圖(IMG1)它正確地向底部圖像視圖(IMG2)動畫。但是當我點擊底部圖像視圖時,它從某處向下移動並僅移動到圖像視圖2初始位置。儘管預期的行爲是,它應該從其位置到頂部圖像視圖(img1)的初始位置進行動畫處理。
我的XML是
和我的Java類文件是
public class AnimationDemo extends Activity implements OnClickListener
{
private ImageView img1;
private ImageView img2;
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
img1 = (ImageView)findViewById(R.id.imgview1);
img2 = (ImageView)findViewById(R.id.imgview2);
img1.setOnClickListener(this);
img2.setOnClickListener(this);
}
@Override
public void onClick(View arg0)
{
int x1,y1; // Coordinates of first image view
int x2,y2; //Coordinates of second image view
ImageView img = (ImageView)arg0;
x1 = img1.getLeft();
y1 = img1.getTop();
x2 = img2.getLeft();
y2 = img2.getTop();
TranslateAnimation slide;
if(arg0 == img1)
{
//translate from img view 1 to img view 2
slide = new TranslateAnimation(Animation.ABSOLUTE,x1,Animation.ABSOLUTE, x2,Animation.ABSOLUTE, y1,Animation.ABSOLUTE,y2);
}
else
{
// translate from img view 2 to img view 1
slide = new TranslateAnimation(Animation.ABSOLUTE,x2,Animation.ABSOLUTE, x1,Animation.ABSOLUTE, y2,Animation.ABSOLUTE,y1);
}
slide.setDuration(1000);
slide.setFillAfter(true);
img.startAnimation(slide);
}
}
你可能想解釋到底發生了什麼問題,而不是說「不工作」。它是不正確的座標動畫?錯誤的時間?在錯誤的觸摸? –
當我點擊頂部圖像視圖(IMG1)它正確地向底部圖像視圖(IMG2)動畫。但是當我點擊底部圖像視圖時,它從某處向下移動並僅移動到圖像視圖2初始位置。 儘管預期的行爲是,它應該從其位置到頂部圖像視圖(img1)初始位置進行動畫處理。 – ashish2sharma
請幫助我。 – ashish2sharma