我正在測試我的拖放android遊戲。我得到了拖東西的工作,但我想拖動的對象(ImageView的)被放到另一個ImageView的(在我的代碼我使用objBasket)android將拖動的對象拖放到另一個對象上
這是到目前爲止,我已經試過代碼:
mainLayout = (AbsoluteLayout) findViewById(R.id.mainLayout);
mainLayout.setOnTouchListener(new View.OnTouchListener() {
@Override
public boolean onTouch(View v, MotionEvent event) {
// TODO Auto-generated method stub
Log.i("touch", "touched here" + event);
if(status == 1) // any event from down and move
{
LayoutParams lp = new LayoutParams(LayoutParams.WRAP_CONTENT,LayoutParams.WRAP_CONTENT,
(int)event.getX()-iv.get(0).getWidth()/2,
(int)event.getY()-iv.get(0).getHeight()/2);
iv.get(0).setLayoutParams(lp);
} else if(status == 2){
LayoutParams lp = new LayoutParams(LayoutParams.WRAP_CONTENT,LayoutParams.WRAP_CONTENT,
(int)event.getX()-iv.get(1).getWidth()/2,
(int)event.getY()-iv.get(1).getHeight()/2);
iv.get(1).setLayoutParams(lp);
} else if(status == 3){
LayoutParams lp = new LayoutParams(LayoutParams.WRAP_CONTENT,LayoutParams.WRAP_CONTENT,
(int)event.getX()-iv.get(2).getWidth()/2,
(int)event.getY()-iv.get(2).getHeight()/2);
iv.get(2).setLayoutParams(lp);
} else if(status == 4){
LayoutParams lp = new LayoutParams(LayoutParams.WRAP_CONTENT,LayoutParams.WRAP_CONTENT,
(int)event.getX()-iv.get(3).getWidth()/2,
(int)event.getY()-iv.get(3).getHeight()/2);
iv.get(3).setLayoutParams(lp);
}
if(event.getAction() == MotionEvent.ACTION_UP){
status = 0;
iv.get(0).setBackgroundColor(Color.TRANSPARENT);
iv.get(1).setBackgroundColor(Color.TRANSPARENT);
iv.get(2).setBackgroundColor(Color.TRANSPARENT);
iv.get(3).setBackgroundColor(Color.TRANSPARENT);
} else if (event.getAction() == MotionEvent.ACTION_DOWN){
status = 0;
}
return true;
}
});
我的問題是我應該在MotionEvent.ACTION_DOWN中使用哪種方法?我有點新東西拖放thingy所以我請求你的赦免。有沒有人在這裏做過同樣的事情?請給我建議或示例代碼。提前致謝!
在停止播放時,您應該使用是否您的point(x,y)屬於您的一些圖像,或者您可以看到它們中的兩個是否與其綁定的Rects –
@MarkoLazić相交,感謝您的問題,您是否有示例代碼讓我開始? THanks –