Tôi chỉ quan tâm ở đây với nửa còn lại của hoạt động D% D. Các thành ngữ phổ biến để giao tiếp với người dùng mà họ có thể bỏ là gì? Và cái nào là "tốt nhất" và trong tình huống nào?
Cụ thể, tôi muốn biết những người giao tiếp với người dùng cả trước khi kéo và xảy ra kéo. Đây có thể là trực quan hoặc 'xúc giác' (thay đổi con trỏ chuột).
Tôi đã thấy các ứng dụng hiển thị một phác thảo nơi bạn có thể thả.
Đây là từ trang tiện ích wordpress
(nguồn: srulytaber.com )
Cách tiếp cận phổ biến là biến con trỏ thành con trỏ "không thể thả" khi bạn vượt qua mọi thứ khác.
Logic sẽ là:
LƯU Ý: Tôi không nhất thiết ủng hộ điều này, nhưng nó cho người dùng thấy rằng họ đang ở giữa một hoạt động kéo/thả cũng như chỉ ra nơi thả là hợp lệ.
Bạn có thể làm nổi bật một chút vị trí thả ngay khi người dùng đang kéo một mục. Bằng cách này bạn có thể thu hút sự chú ý đến các địa điểm thả.
Điều kiện tiên quyết cho điều này là tất nhiên là bạn hiển thị những gì có thể kéo được ở vị trí đầu tiên. Có câu hỏi này với câu trả lời cho điều đó.
Đôi khi, mục tiêu thả trong một tập hợp sắp xếp tuyến tính đối tượng. Sau khi vật phẩm bị rơi, các đối tượng theo sau mục tiêu thả sẽ di chuyển để tạo khoảng trống cho đối tượng mới. Trong trường hợp đó, điểm chèn thường được biểu thị bằng một đường mỏng giữa hai đối tượng sẽ tách ra để tạo khoảng trống.
Ví dụ: trong hầu hết mọi GUI sử dụng chuột, văn bản có thể được chọn và kéo từ một phần của tài liệu sang phần khác. Điểm chèn được biểu thị bằng một đường mỏng giữa hai ký tự.
Đó cũng là trường hợp với hàng Netflix đã thảo luận trước đó. Ngoài một dòng mỏng, Netflix sử dụng một mũi tên màu đen để cho biết bộ phim sẽ đi về đâu.
Thundercats: Season 1: Vol. 1: Disc 3
.....................................
Thundercats: Season 1: Vol. 1: Disc 4
>-------------------------------------
Thundercats: Season 1: Vol. 1: Disc 5
.....................................
Thundercats: Season 1: Vol. 1: Disc 6
(Tôi không thể tìm ra cách lấy ảnh chụp màn hình trong khi kéo.)
Quy trình công việc điển hình để bỏ là:
repeat while mouse is down
dragEnter -> mouse pointer has moved into some new area.
Highlight the area if the dragged data is valid for dropping into it,
adjust cursor (forbidden, copy, symlink, or move)
adjust the drag image (e.g. when dragging from icon view in file picker
to list view in another file picker, now's the time to animate the
drag image to look like the list view items would when dropped.
dragLeave -> Undo any previous highlight.
end repeat
if we were over a valid drop location
drop
else
show an animation of the drag image snapping back to its
point of Origin to make it clear the drag was canceled.
end if
Undo any previous highlight.
Các loại nổi bật thả điển hình là:
Lưu ý rằng dấu chèn không chỉ hữu ích cho các danh sách mà bạn có thể tự do sắp xếp lại thứ tự mục, mà còn cho các danh sách được sắp xếp, ví dụ: sự sụt giảm giữa hoặc trên hai tệp trong danh sách được sắp xếp là hoàn toàn hợp lệ, nhưng bạn muốn chỉ ra rằng, sau khi sắp xếp, tệp sẽ hiển thị thêm.
Chỉ để hoàn thiện, quy trình làm việc điển hình cho việc kéo là:
detect whether a click-and-hold or click-and-move is really intended to be a drag:
- Is it obvious? (e.g. dragging a file by its icon -- there is nothing else you can do
- Or: Wait for a while, has the mouse moved by at least 4 pixels in some direction
and has the mouse still not been released? (Accounts for most peoples' less-than-pefect motor skills
- Or: Is the drag in a certain direction that doesn't make sense for anything else?
(E.g. dragging sideways over text may be an attempt at a new selection,
OTOH a vertical drag > 4px on a selection is pretty guaranteed to be a drag attempt.
Set up a drag image that is attached to the mouse. This image usually looks exactly
like a 70% opaque version of the selection (giving the illusion you're moving
the selection) and if you haven't moved the mouse yet, should invisibly overlay
the actual selection. (I.e. move it relative to the mouse, don't center it
under the mouse)
Start the drag! (following this we do the workflow for dropping)
(Ít nhất đây là cách kéo thả thường xảy ra trong các ứng dụng Mac OS X hiện đại, mặc dù việc cập nhật hình ảnh kéo trong khi thả là một điều khá mới mẻ)