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

Thử cách Compose
Jetpack Compose là bộ công cụ giao diện người dùng được đề xuất cho Android. Tìm hiểu cách sử dụng tính năng kéo và thả trong Compose.

Khung kéo và thả của Android cho phép bạn thêm các chức năng kéo và thả 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à mọi nội dung có thể được biểu thị bằng một URI, từ một View sang một thành phần hiển thị khác trong một ứ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, các trình nghe sự kiện kéo (drag listener), các lớp hỗ trợ (helper) và phương thức. 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 các 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 truyền dữ liệu.

Tổng quan

Có một số phần tử liên quan đến quy trình kéo.

  1. Nguồn kéo: Khung hiển thị điểm bắt đầu của quy trình kéo và thả.

  2. Mục tiêu thả: Một khung 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à một biểu thị của dữ liệu đang được kéo, người dùng có thể nhìn thấy dữ liệu nà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ả sẽ 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 nhận dạng là một tín hiệu để bắt đầu kéo dữ liệu. Để 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 một bóng khi kéo và cho người dùng thấy bóng này 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à 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. Nếu người dùng thả bóng khi kéo sang 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ủ đề

Các khái niệm chính
Tìm hiểu quy trình kéo và thả.
Kéo và thả đơn giản hơn nhờ DropHelper
Tìm hiểu cách triển khai tính năng kéo và thả bằng DropHelper.
Triển khai tính năng kéo và thả bằng khung hiển thị
Ngoài ra, hãy triển khai tính năng kéo và thả bằng khung hiển thị Android. Điều này cho phép nhà phát triển kiểm soát chi tiết 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 khác nhau.

Tài nguyên khác