2017-01-07 2 views
0

Я добавляю некоторые ImageViews к относительной компоновке динамически (на сенсорных точках) Любой ImageView имеет OnTouchListener. В Action Move перемещаем ImageView (sth, как Drag and Drop). Моя проблема заключается в том, что ImageViews могут пересекаться друг с другом, когда они перемещаются. Я хочу, чтобы они не перекрывали друг друга! (Лучше всего остановить движение при столкновении произойдет)Android запрещает просмотр перекрытия при перетаскивании

Look at this image

Все ImageViews сохраняются в списке ссылок. Я получаю x перемещающийся вид и сравниваю его с другими видами, и если они столкнулись, они не позволяют им двигаться. Но я хочу, чтобы этот пользователь мог их разделить. Как я могу сделать эту работу? Вкратце, когда происходит столкновение взглядов, я не позволяю им двигаться дальше, но я хочу, чтобы движение делало их далеко друг от друга.

ответ

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 
}