Bật tính năng kéo và thả

Khung kéo và thả của Android cho phép bạn thêm các tính năng kéo và thả mang tính tương tác vào ứng dụng. Với tính năng kéo và thả, người dùng có thể sao chép hoặc di chuyển văn bản, hình ảnh, đối tượng và bất kỳ nội dung nào có thể được biểu thị bằng URI, từ một View sang một View khác trong ứng dụng hoặc giữa các ứng dụng ở chế độ nhiều cửa sổ.

Chuỗi văn bản và hình ảnh được kéo và thả trong một ứng dụng. Chuỗi văn bản và hình ảnh được kéo và thả giữa các ứng dụng trong chế độ chia đôi màn hình.
Hình 1. Kéo và thả trong ứng dụng.
Hình 2. Kéo và thả giữa các ứng dụng.

Khung này bao gồm một lớp sự kiện kéo, trình nghe sự kiện kéo, các lớp và phương thức trợ giúp. Mặc dù được thiết kế chủ yếu để cho phép chuyển dữ liệu, nhưng bạn có thể sử dụng khung này cho các thao tác khác trên giao diện người dùng. Ví dụ: bạn có thể tạo một ứng dụng kết hợp màu khi người dùng kéo một biểu tượng màu lên trên một biểu tượng khác. Tuy nhiên, phần còn lại của tài liệu mô tả khung kéo và thả trong bối cảnh chuyển dữ liệu.

Tổng quan

Có một vài yếu tố liên quan đến quá trình kéo.

  1. Nguồn kéo: Chế độ xem điểm bắt đầu của quá trình kéo và thả.

  2. Đích thả: Một thành phần hiển thị có thể chấp nhận dữ liệu kéo.

  3. Bóng khi kéo: Bóng khi kéo là đại diện của dữ liệu đang được kéo và người dùng sẽ nhìn thấy.

  4. Sự kiện kéo: Khi người dùng di chuyển bóng khi kéo trên bố cục của ứng dụng, hệ thống sẽ gửi các sự kiện kéo đến trình nghe sự kiện kéo và các phương thức gọi lại liên kết với các đối tượng View trong bố cục.

Thao tác kéo và thả bắt đầu khi người dùng thực hiện một cử chỉ trên giao diện người dùng mà ứng dụng của bạn coi là tín hiệu để bắt đầu kéo dữ liệu. Khi phản hồi, ứng dụng sẽ thông báo cho hệ thống rằng thao tác kéo và thả đang bắt đầu. Hệ thống gọi lại ứng dụng của bạn để lấy Bóng khi kéo và hiển thị bóng này cho người dùng trong quá trình kéo và thả.

Khi người dùng di chuyển bóng khi kéo trên bố cục của ứng dụng, hệ thống sẽ gửi các sự kiện kéo đến trình nghe sự kiện kéo và phương thức gọi lại liên kết với các đối tượng View trong bố cục. Nếu người dùng thả bóng khi kéo qua một mục tiêu thả, hệ thống sẽ gửi dữ liệu đến mục tiêu đó. Thao tác kéo và thả kết thúc khi người dùng thả bóng khi kéo, cho dù bóng khi kéo có nằm trên mục tiêu thả hay không.

Chủ đề

Khái niệm chính
Tìm hiểu quy trình kéo và thả.
DropHelper để đơn giản hoá thao tác kéo và thả
Tìm hiểu cách triển khai thao tác kéo và thả bằng DropHelper.
Triển khai thao tác kéo và thả bằng Chế độ xem
Ngoài ra, hãy triển khai thao tác kéo và thả với Khung hiển thị Android, điều này cho phép nhà phát triển kiểm soát các thông tin chi tiết nhiều hơn.
Kéo và thả ở chế độ nhiều cửa sổ
Hỗ trợ tính năng kéo và thả ở chế độ nhiều cửa sổ, cho phép các đối tượng di chuyển giữa các ứng dụng.