Android的 - 被拖出一个区域停止阴影 [英] Android - Stop shadow from being dragged out of a zone
本文介绍了Android的 - 被拖出一个区域停止阴影的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我不能就如何离开特定区域被拖拽的时候停止的阴影锻炼。
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.
这篇关于Android的 - 被拖出一个区域停止阴影的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文