2013-06-14 39 views
9

Hành vi mặc định kéo và thả trên Android rõ ràng cho phép DragShadow được kéo bất cứ nơi nào trên màn hình.Android - Hạn chế kéo và thả vào hộp bị chặn

Tôi muốn giới hạn vùng mà nó có thể được kéo vào một hộp giới hạn được chỉ định hoặc đến giới hạn của một chế độ xem cụ thể.

Tôi thấy rằng tôi có thể theo dõi vị trí kéo với onInterceptTouchEvent, nhưng tôi không thấy bất kỳ cách nào để sửa đổi vị trí kéo.

Có ai đã thực hiện thành công điều này không?

EDIT: Vì tôi không có câu trả lời ở đây và chưa bao giờ tìm thấy bất kỳ câu trả lời phù hợp nào khác, tôi đã viết triển khai của riêng mình. Nó không sử dụng api kéo và thả, nó mô phỏng nó thay thế. Xem https://github.com/rfreedman/android-constrained-drag-and-drop-view

+0

Vui lòng đặt giải pháp của riêng bạn làm câu trả lời để câu hỏi có thể được đóng đúng cách. – Warpzit

Trả lời

3

Vì tôi không có câu trả lời ở đây và chưa bao giờ tìm thấy bất kỳ câu trả lời phù hợp nào khác, tôi đã viết triển khai của riêng mình. Nó không sử dụng api kéo và thả, nó mô phỏng nó thay thế. Xem https://github.com/rfreedman/android-constrained-drag-and-drop-view

+0

Điều này có thể được sử dụng thay vì 'relativeLayout'? Tôi đang kéo một 'nút' trong một' relativelayout' hiện diện trong một 'scrollview'. Nó chạy ra khỏi 'layout' bất cứ khi nào kéo đến cuối' layout'. Nếu không thì bạn có thể đề xuất những gì có thể được thực hiện không? Đây là vấn đề -> http://stackoverflow.com/questions/25844743/draggable-button-getting-out-of-relativelayout-whenever-dragged –

+1

Bạn có thể sử dụng điều này làm con của người thân, hoặc bạn chỉ có thể áp dụng chiến lược ngăn chặn chuyển động của nó, và cho phép nó chỉ khi vị trí mới nằm trong khu vực mong muốn. – GreyBeardedGeek

+0

@GreyBeardedGeek bạn có biết phải làm gì nếu bạn bị giới hạn giống như ứng dụng LOCKET LOCKSCREEN, nơi bạn không thể di chuyển bất cứ nơi nào khác nhưng chỉ trên đối tượng thả và đối tượng thả được đặt trong vòng tròn bán –

Các vấn đề liên quan