我在一项活动中有2个观看次数。一个全屏(View1)和其他小(View2),是View1的一半大小。
我可以通过捕获onTouch侦听器(ACTION_UP
/ ACTION_DOWN
)在View1上移动View2。但我想在View1上移动时显示View2的动画/拖动图像。任何关于如何实现这一点的建议都将不胜感激。
目前,为了在四个角落移动View2,我在ACTION_UP
中设置了布局参数。
代码::
public boolean onTouch(View view, MotionEvent motionEvent) {
RelativeLayout.LayoutParams layoutParams =(RelativeLayout.LayoutParams)view.getLayoutParams();
int dx=0,dy=0;
switch (motionEvent.getActionMasked()) {
case MotionEvent.ACTION_DOWN:
int x = (int) motionEvent.getX();
int y = (int) motionEvent.getY();
dx = (int) motionEvent.getRawX() - layoutParams.leftMargin;
dy = (int)motionEvent.getRawY() - layoutParams.topMargin;
break;
case MotionEvent.ACTION_MOVE:
layoutParams.leftMargin = (int) ((int) motionEvent.getRawX()-dx);
layoutParams.topMargin = (int) ((int)motionEvent.getRawY()- dy);
view.setLayoutParams(layoutParams);
break;
case MotionEvent.ACTION_UP:
view.setLayoutParams(layoutParams);
break;
}
return true;
}