我的ImageView的一個ArrayList的在我的活動-Class和所有的人都應該有相同的行爲:一旦你觸摸它們,移動你的手指向右或向左,x軸這個ImageView的座標也應該移動。onTouchListener:轉換查看到的ImageView
public boolean onTouch(View v, MotionEvent e) {
float origin_x = 0;
float origin_x2 = 0;
RelativeLayout.LayoutParams lp = (RelativeLayout.LayoutParams) v.getLayoutParams();
switch (e.getActionMasked()) {
case MotionEvent.ACTION_DOWN: {
origin_x = e.getX();
origin_x2 = lp.leftMargin;
break;
}
case MotionEvent.ACTION_MOVE: {
float diff = e.getX()-origin_x;
System.out.println(diff);
lp.setMargins((int) (origin_x2+diff), lp.topMargin, 0, 0);
v.setLayoutParams(lp);
break;
}
}
return true;
}
但因爲我只能在ontouch法使用「查看」 -object,我有沒有可能找出ImageView的被感動了。
你知道我應該怎麼解決這個問題?
如果每個ImageView的得到你的'OnTouchListener'的一個單獨的實例,不會有任何重疊。此外,你的問題是相當模糊的 - 爲什麼你需要找出哪些'ImageView'被感動了(你可以使用'查看#的getId()'來確定),如果你正在做的是移動視圖(其中'onTouch '收到)。 –