2017-01-07 3 views
0

私はいくつかのImageViewを動的レイアウトに(タッチポイント上で)動的に追加します すべてのImageViewにはOnTouchListenerがあります。私はImageView(ドラッグアンドドロップのようなsth)を動かす。 私の問題は、動いているときに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 
} 
をお試しください
関連する問題