Android会阻止拖放视图重叠

时间:2017-01-07 18:52:03

标签: android

我正在动态地将一些ImageView添加到相对布局中(在触摸点上) 任何ImageView都有一个OnTouchListener。在动作中移动我移动ImageView(像拖放一样)。 我的问题是ImageViews在移动时可能会相互重叠。我想以任何方式防止它们重叠! (碰撞时最好停止移动)

Look at this image

所有ImageView都保存在链接列表中。我得到x& y移动视图并将其与其他视图进行比较,如果它们发生碰撞,则不要让它们移动。 但我希望该用户可以再次将它们分开。我该怎么做这个工作? 简而言之,当视图发生碰撞时,我不会让它们再移动,但我想要的是,如果移动使它们相互远离它们就会发生。

1 个答案:

答案 0 :(得分:0)

试试这个

 Rect rc1 = new Rect();
 imageView1.getDrawingRect(rc1);
 Rect rc2 = new Rect();
 imageView2.getDrawingRect(rc2);
 if (Rect.intersects(rc1, rc2) {
   // intersection is detected
   // here is your method call
 }