由网友(人不奋斗,何来享受)分享简介:我不能就如何离开特定区域被拖拽的时候停止的阴影锻炼。I can't work out on how to stop the shadow from leaving a specific zone when being dragged.你对如何做到这一点任何想法?Do you have any idea on ho...
我不能就如何离开特定区域被拖拽的时候停止的阴影锻炼。
I can't work out on how to stop the shadow from leaving a specific zone when being dragged.
你对如何做到这一点任何想法?
Do you have any idea on how to do that?
感谢的提前
推荐答案
确定,所以最后只用onTouch的工作了:
OK, so I finally worked it out with only a onTouch:
@Override
public boolean onTouch(View v, MotionEvent event) {
// Handles each of the expected events
switch (event.getAction()) {
case MotionEvent.ACTION_DOWN:
if (initPosX == 0 && initPosY == 0) {
initPosX = myImage.getX();
initPosY = myImage.getY();
}
// First finger down
text.setText("ACTION_DOWN x: " + event.getRawX() + ", y: " + event.getRawY());
break;
case MotionEvent.ACTION_UP:
// Last finger to be removed
text.setText("ACTION_UP x: " + event.getRawX() + ", y: " + event.getRawY());
myImage.setX(initPosX);
myImage.setY(initPosY);
break;
case MotionEvent.ACTION_MOVE:
// A finger moves
float calc_X = event.getRawX() - initPosX / 2 + myImage.getWidth() / 2;
float calc_Y = event.getRawY() - initPosY / 2 - myImage.getHeight() / 2;
if(calc_X > initPosX - delta && calc_X < initPosX + delta)
myImage.setX(calc_X);
if(calc_Y > initPosY - delta && calc_Y < initPosY + delta)
myImage.setY(calc_Y);
text.setText("X: " + event.getRawX() + "nY: " + event.getRawY());
break;
}
return true;
}
它的这种耻辱,虽然onDragListtener是不能够做这样一个基本的东西......我猜的Android剧组是故意的。
It's such a shame though onDragListtener is not capable of doing such a basic stuff... I guess the Android crew did it on purpose.
特别感谢pskink。
Special thanks to pskink.
相关推荐
最新文章