Tạo chỉ báo tiến trình

Chỉ báo tiến trình hiển thị trực quan trạng thái của một thao tác. Các hiệu ứng này sử dụng chuyển động để cho người dùng biết quy trình sắp hoàn tất đến mức nào, chẳng hạn như tải hoặc xử lý dữ liệu. Các chỉ báo này cũng có thể cho biết rằng quá trình xử lý đang diễn ra mà không cần tham chiếu đến mức độ hoàn tất của quá trình.

Hãy xem xét 3 trường hợp sử dụng sau đây mà bạn có thể sử dụng chỉ báo tiến trình:

  • Tải nội dung: Trong khi tìm nạp nội dung từ mạng, chẳng hạn như tải hình ảnh hoặc dữ liệu cho hồ sơ người dùng.
  • Tải tệp lên: Cung cấp cho người dùng ý kiến phản hồi về thời gian tải lên.
  • Xử lý lâu: Trong khi ứng dụng đang xử lý một lượng lớn dữ liệu, hãy cho người dùng biết tỷ lệ phần trăm tổng số dữ liệu đã xử lý.

Trong Material Design, có hai loại chỉ báo tiến trình:

  • Định tính: Cho biết chính xác tiến trình đã đạt được.
  • Không xác định: Tạo ảnh động liên tục mà không quan tâm đến tiến trình.

Tương tự, chỉ báo tiến trình có thể có một trong hai dạng sau:

  • Tuyến tính: Thanh ngang lấp đầy từ trái sang phải.
  • Tròn: Một vòng tròn có nét vẽ tăng dần chiều dài cho đến khi bao phủ toàn bộ chu vi của vòng tròn.

Khả năng tương thích của phiên bản

Phương thức triển khai này yêu cầu bạn phải đặt minSDK của dự án thành API cấp 21 trở lên.

Phần phụ thuộc

Tạo chỉ báo xác định

Chỉ báo xác định phản ánh chính xác mức độ hoàn tất của một hành động. Sử dụng thành phần kết hợp LinearProgressIndicator hoặc CircularProgressIndicator và truyền một giá trị cho tham số progress.

Đoạn mã sau đây cung cấp một ví dụ tương đối chi tiết. Khi người dùng nhấn vào nút, ứng dụng sẽ hiển thị chỉ báo tiến trình và khởi chạy một coroutine tăng dần giá trị của progress. Điều này khiến chỉ báo tiến trình lặp lại theo thứ tự.

Kết quả

Khi quá trình tải hoàn tất một phần, chỉ báo tuyến tính trong ví dụ trước sẽ xuất hiện như sau:

Tương tự, chỉ báo hình tròn sẽ xuất hiện như sau:

Tạo chỉ báo không xác định

Chỉ báo không xác định không phản ánh mức độ hoàn tất của một thao tác. Thay vào đó, chỉ báo này sử dụng chuyển động để cho người dùng biết rằng quá trình xử lý đang diễn ra, mặc dù không chỉ định bất kỳ mức độ hoàn tất nào.

Để tạo chỉ báo tiến trình không xác định, hãy sử dụng thành phần kết hợp LinearProgressIndicator hoặc CircularProgressIndicator, nhưng không truyền giá trị cho progress. Ví dụ sau đây minh hoạ cách bạn có thể bật/tắt một chỉ báo không xác định bằng một thao tác nhấn nút.

Kết quả

Sau đây là ví dụ về cách triển khai này khi chỉ báo đang hoạt động:

Sau đây là ví dụ về cách triển khai tương tự nhưng với LinearProgressIndicator thay vì CircularProgressIndicator.

Điểm chính

Mặc dù có một số thành phần kết hợp mà bạn có thể sử dụng để tạo chỉ báo tiến trình nhất quán với Material Design, nhưng các tham số của các thành phần kết hợp này không khác nhau nhiều. Sau đây là một số tham số chính bạn cần lưu ý:

  • progress: Tiến trình hiện tại mà chỉ báo hiển thị. Truyền Float giữa 0.01.0.
  • color: Màu của chỉ báo, tức là phần của thành phần phản ánh tiến trình và bao gồm toàn bộ thành phần khi tiến trình hoàn tất.
  • trackColor: Màu của kênh mà chỉ báo được vẽ trên đó.

Các bộ sưu tập chứa hướng dẫn này

Hướng dẫn này là một phần của các bộ sưu tập Hướng dẫn nhanh được tuyển chọn này, bao gồm các mục tiêu phát triển Android rộng hơn:

Tìm hiểu cách các hàm có khả năng kết hợp giúp bạn dễ dàng tạo các thành phần giao diện người dùng đẹp mắt dựa trên hệ thống thiết kế Material Design.
Danh sách và lưới cho phép ứng dụng của bạn hiển thị các bộ sưu tập ở dạng hình ảnh dễ nhìn và dễ sử dụng cho người dùng.

Bạn có câu hỏi hoặc ý kiến phản hồi

Hãy truy cập vào trang câu hỏi thường gặp để tìm hiểu về các hướng dẫn nhanh hoặc liên hệ với chúng tôi để cho chúng tôi biết suy nghĩ của bạn.