Tổng quan về tiện ích ứng dụng

Thử cách dùng Compose
Jetpack Compose là bộ công cụ giao diện người dùng được khuyên dùng cho Android. Tìm hiểu cách tạo tiện ích bằng API theo kiểu Compose.

Tiện ích là một khía cạnh thiết yếu của việc tuỳ chỉnh màn hình chính. Bạn có thể coi chúng là chế độ xem "nhanh" về dữ liệu và chức năng quan trọng nhất của một ứng dụng, có thể truy cập ngay trên màn hình chính của người dùng. Người dùng có thể di chuyển tiện ích trên các bảng điều khiển màn hình chính và nếu được hỗ trợ, họ có thể đổi kích thước tiện ích để điều chỉnh lượng thông tin trong tiện ích theo ý muốn.

Tài liệu này giới thiệu các loại tiện ích mà bạn có thể tạo và các nguyên tắc thiết kế cần tuân theo. Để tạo một tiện ích ứng dụng bằng API Chế độ xem từ xa và bố cục XML, hãy xem bài viết Tạo một tiện ích đơn giản. Để tạo một tiện ích bằng Kotlin và API theo kiểu Compose, hãy xem Jetpack Glance.

Các loại tiện ích

Khi lên kế hoạch cho tiện ích, hãy nghĩ về loại tiện ích mà bạn muốn tạo. Tiện ích thường thuộc một trong các danh mục sau:

Tiện ích thông tin

Ví dụ về một tiện ích thời tiết cho thấy Tokyo có nhiều mây, nhiệt độ là 14 độ và nhiệt độ dự kiến từ 4 giờ chiều đến 7 giờ tối
Hình 1. Một tiện ích thông tin từ ứng dụng thời tiết.

Tiện ích thông tin thường hiển thị các thành phần thông tin quan trọng và theo dõi cách thông tin đó thay đổi theo thời gian. Ví dụ về tiện ích thông tin là tiện ích thời tiết, tiện ích đồng hồ hoặc tiện ích theo dõi điểm số thể thao. Việc nhấn vào tiện ích thông tin thường sẽ khởi chạy ứng dụng được liên kết và mở chế độ xem chi tiết về thông tin tiện ích.

Tiện ích bộ sưu tập

Tiện ích bộ sưu tập chuyên hiển thị nhiều phần tử cùng loại, chẳng hạn như bộ sưu tập ảnh từ ứng dụng thư viện ảnh, bộ sưu tập bài viết từ ứng dụng tin tức hoặc bộ sưu tập email hoặc tin nhắn từ ứng dụng giao tiếp. Tiện ích bộ sưu tập có thể cuộn theo chiều dọc.

Tiện ích bộ sưu tập thường tập trung vào các trường hợp sử dụng sau:

  • Duyệt bộ sưu tập.
  • Mở một phần tử của bộ sưu tập để xem chi tiết trong ứng dụng được liên kết.
  • Tương tác với các phần tử, chẳng hạn như đánh dấu là đã hoàn tất (có hỗ trợ nút tổng hợp trong Android 12 (cấp độ API 31)).

Tiện ích điều khiển

Một tiện ích cho ứng dụng có tên "Danh sách đèn", hiển thị các nút bật/tắt có nhãn "Phòng ngủ", "Nhà bếp" và "Phòng khách", trong đó 2 nút bật/tắt đầu tiên ở trạng thái tắt
Hình 4. Ví dụ về tiện ích điều khiển.

Mục đích chính của tiện ích điều khiển là hiển thị các chức năng thường dùng để người dùng có thể kích hoạt các chức năng đó từ màn hình chính mà không cần mở ứng dụng. Bạn có thể coi chúng là điều khiển từ xa cho một ứng dụng. Ví dụ về tiện ích điều khiển là tiện ích điều khiển nhà cho phép người dùng bật hoặc tắt đèn trong nhà.

Việc tương tác với tiện ích điều khiển có thể mở chế độ xem chi tiết được liên kết trong ứng dụng. Điều này phụ thuộc vào việc chức năng của tiện ích điều khiển có xuất ra dữ liệu nào hay không, chẳng hạn như trong trường hợp tiện ích tìm kiếm.

Tiện ích kết hợp

Một ứng dụng nghe nhạc chung cho thấy các nút "không thích", quay lại, phát/tạm dừng, chuyển tiếp và "thích". Nghệ sĩ và bản nhạc được liệt kê lần lượt là "Nghệ sĩ" và "Ví dụ về bản nhạc".
Hình 5. Ví dụ về tiện ích ứng dụng nghe nhạc.

Mặc dù một số tiện ích đại diện cho một trong các loại trong các phần trước (thông tin, bộ sưu tập hoặc điều khiển), nhưng nhiều tiện ích là tiện ích kết hợp, kết hợp các phần tử của nhiều loại. Ví dụ: tiện ích trình phát nhạc chủ yếu là tiện ích điều khiển, nhưng tiện ích này cũng cho người dùng biết bài hát đang phát, giống như tiện ích thông tin.

Khi lên kế hoạch cho tiện ích, hãy thiết kế dựa trên một trong các loại cơ bản và thêm các phần tử của các loại khác nếu cần.

Tích hợp tiện ích với Trợ lý Google

Trợ lý Google có thể hiển thị mọi loại tiện ích để phản hồi các lệnh thoại của người dùng. Bạn có thể định cấu hình tiện ích để thực hiện Hành động trong ứng dụng, cho phép người dùng nhận thông tin nhanh và trải nghiệm ứng dụng tương tác trên các nền tảng của Trợ lý như Android và Android Auto. Để biết thêm thông tin chi tiết về việc thực hiện tiện ích cho Trợ lý, hãy xem bài viết Tích hợp Hành động trong ứng dụng với tiện ích Android.

Giới hạn của tiện ích

Mặc dù có thể hiểu tiện ích là "ứng dụng mini", nhưng có một số giới hạn quan trọng cần hiểu trước khi bạn thiết kế tiện ích.

Cử chỉ

Vì tiện ích nằm trên màn hình chính, nên chúng phải cùng tồn tại với hệ thống điều hướng được thiết lập ở đó. Điều này giới hạn khả năng hỗ trợ cử chỉ có trong tiện ích so với ứng dụng toàn màn hình. Mặc dù các ứng dụng có thể cho phép người dùng di chuyển giữa các màn hình theo chiều ngang, nhưng cử chỉ đó đã được thực hiện trên màn hình chính nhằm mục đích di chuyển giữa các màn hình chính.

Các cử chỉ duy nhất có sẵn cho tiện ích là chạmvuốt dọc.

Phần tử

Do các giới hạn về cử chỉ có sẵn cho tiện ích, nên một số khối xây dựng giao diện người dùng dựa vào các cử chỉ bị hạn chế không có sẵn cho tiện ích. Để biết danh sách đầy đủ các khối xây dựng được hỗ trợ và thêm thông tin về các hạn chế về bố cục, hãy xem bài viết Tạo bố cục tiện íchCung cấp bố cục tiện ích linh hoạt.

Hướng dẫn thiết kế

Nội dung tiện ích

Tiện ích là một cách tuyệt vời để thu hút người dùng đến với ứng dụng của bạn bằng cách "quảng cáo" nội dung mới và thú vị có trong ứng dụng.

Giống như các đoạn giới thiệu trên trang nhất của một tờ báo, tiện ích hợp nhất và tập trung thông tin của ứng dụng, đồng thời cung cấp kết nối đến thông tin chi tiết hơn trong ứng dụng. Bạn có thể nói tiện ích là "đồ ăn vặt" thông tin, còn ứng dụng là "bữa ăn". Hãy đảm bảo ứng dụng của bạn hiển thị thông tin chi tiết hơn về một mục thông tin so với những gì tiện ích hiển thị.

Ngoài nội dung thông tin thuần tuý, hãy cân nhắc việc tạo tiện ích cung cấp các đường liên kết điều hướng đến các khu vực thường dùng của ứng dụng. Điều này cho phép người dùng hoàn thành các tác vụ nhanh hơn và mở rộng phạm vi chức năng của ứng dụng đến màn hình chính.

Các đề xuất phù hợp cho đường liên kết điều hướng trên tiện ích là:

  • Chức năng tạo: đây là các chức năng cho phép người dùng tạo nội dung mới cho một ứng dụng, chẳng hạn như tạo tài liệu mới hoặc tin nhắn mới.

  • Mở ứng dụng ở cấp cao nhất: việc nhấn vào một phần tử thông tin thường sẽ điều hướng người dùng đến màn hình chi tiết cấp thấp hơn. Việc cung cấp quyền truy cập vào cấp cao nhất của ứng dụng sẽ mang lại sự linh hoạt hơn trong việc điều hướng và có thể thay thế lối tắt ứng dụng chuyên dụng mà người dùng sử dụng để di chuyển đến ứng dụng từ màn hình chính. Việc sử dụng biểu tượng ứng dụng cho chức năng này cũng có thể cung cấp cho tiện ích của bạn một danh tính rõ ràng nếu dữ liệu bạn đang hiển thị không rõ ràng.

Đổi kích thước tiện ích

Tiện ích Đồng hồ chuẩn của Google
Hình 6. Tiện ích Đồng hồ Google tiêu chuẩn.

Việc chạm và giữ một tiện ích có thể đổi kích thước rồi thả ra sẽ đưa tiện ích vào chế độ đổi kích thước. Người dùng có thể sử dụng các tay cầm kéo hoặc góc tiện ích để đặt kích thước ưu tiên.

Tính năng đổi kích thước cho phép người dùng điều chỉnh chiều cao và chiều rộng của tiện ích trong các ràng buộc của lưới vị trí màn hình chính. Bạn có thể quyết định xem tiện ích của mình có thể đổi kích thước tự do hay bị giới hạn ở các thay đổi về kích thước theo chiều ngang hoặc chiều dọc. Bạn không cần hỗ trợ tính năng đổi kích thước nếu tiện ích của bạn vốn có kích thước cố định.

Việc cho phép người dùng đổi kích thước tiện ích mang lại những lợi ích quan trọng:

  • Họ có thể tinh chỉnh lượng thông tin mà họ muốn xem trên mỗi tiện ích.
  • Họ có thể ảnh hưởng tốt hơn đến bố cục của tiện ích và lối tắt trên các bảng điều khiển chính.

Lên kế hoạch cho chiến lược đổi kích thước cho tiện ích theo loại tiện ích mà bạn đang tạo. Tiện ích bộ sưu tập dựa trên danh sách hoặc lưới thường đơn giản, vì việc đổi kích thước tiện ích sẽ mở rộng hoặc thu hẹp vùng cuộn dọc. Bất kể kích thước của tiện ích là bao nhiêu, người dùng vẫn có thể cuộn tất cả các phần tử thông tin vào chế độ xem.

Tiện ích thông tin đòi hỏi phải lên kế hoạch thực tế hơn, vì chúng không thể cuộn được và tất cả nội dung phải vừa với một kích thước nhất định. Bạn phải điều chỉnh động nội dung và bố cục của tiện ích theo kích thước mà người dùng xác định thông qua thao tác đổi kích thước.

Trong ví dụ sau, người dùng có thể đổi kích thước tiện ích thời tiết theo 3 bước, hiển thị thông tin chi tiết hơn về thời tiết tại vị trí hiện tại khi tiện ích tăng kích thước.

Ví dụ về tiện ích thời tiết có kích thước lưới nhỏ nhất là 3x2, liệt kê tên vị trí (Tokyo), nhiệt độ (14°) và biểu tượng cho biết thời tiết nhiều mây một phần
Hình 7. Ví dụ về tiện ích thời tiết có kích thước "nhỏ" 3x2.


Ví dụ về tiện ích thời tiết có kích thước 'trung bình' 5x2, bao gồm tất cả giao diện người dùng từ kích thước lưới 3x2, cộng với nhãn 'trời nhiều mây' và nhiệt độ dự báo từ 16:00 đến 19:00
Hình 8. Ví dụ về tiện ích thời tiết có kích thước "trung bình" 5x2.


Ví dụ về tiện ích thời tiết có kích thước "lớn" 5x4, bao gồm tất cả giao diện người dùng từ kích thước lưới 3x2 và 5x2, cộng với thông tin dự báo thời tiết từ thứ Ba đến thứ Sáu
Hình 9. Ví dụ về tiện ích thời tiết có kích thước "lớn" 5x4.

Đối với mỗi kích thước tiện ích, hãy xác định lượng thông tin của ứng dụng được hiển thị. Đối với kích thước nhỏ hơn, hãy tập trung vào thông tin thiết yếu, sau đó thêm thông tin theo bối cảnh khi tiện ích tăng kích thước theo chiều ngang và chiều dọc.

Cân nhắc về bố cục

Bạn có thể muốn bố trí tiện ích theo kích thước của lưới vị trí của một thiết bị mà bạn phát triển. Đây có thể là một phép tính gần đúng ban đầu hữu ích, nhưng hãy lưu ý những điểm sau:

  • Việc lên kế hoạch cho chiến lược đổi kích thước tiện ích trên các "nhóm kích thước" thay vì kích thước lưới biến đổi sẽ mang lại kết quả đáng tin cậy nhất.
  • Số lượng, kích thước và khoảng cách của các ô có thể khác nhau rất nhiều giữa các thiết bị. Do đó, điều rất quan trọng là tiện ích của bạn phải linh hoạt và có thể chứa nhiều hoặc ít không gian hơn dự kiến.
  • Khi người dùng đổi kích thước tiện ích, hệ thống sẽ phản hồi bằng một phạm vi kích thước dp mà trong đó tiện ích có thể vẽ lại chính nó.
  • Kể từ Android 12, bạn có thể cung cấp các thuộc tính kích thước tinh chỉnh hơn và bố cục linh hoạt hơn. Điều này bao gồm:

Người dùng định cấu hình tiện ích

Đôi khi, người dùng cần thiết lập tiện ích trước khi tiện ích có thể trở nên hữu ích. Hãy nghĩ đến một tiện ích email mà người dùng cần chọn thư mục thư trước khi hộp thư đến có thể hiển thị hoặc một tiện ích ảnh tĩnh mà người dùng phải chỉ định một bức ảnh từ thư viện để hiển thị. Tiện ích Android hiển thị các lựa chọn cấu hình ngay sau khi người dùng thả tiện ích vào màn hình chính.

Danh sách kiểm tra thiết kế tiện ích

  • Tập trung vào các phần nhỏ của thông tin có thể xem nhanh trên tiện ích. Mở rộng thông tin trong ứng dụng.
  • Chọn loại tiện ích phù hợp với mục đích của bạn.
  • Lên kế hoạch cách nội dung cho tiện ích của bạn thích ứng với nhiều kích thước.
  • Tạo bố cục tiện ích độc lập với hướng và thiết bị bằng cách đảm bảo bố cục có thể kéo giãn và thu gọn.
  • Cân nhắc xem tiện ích của bạn có cần cấu hình bổ sung nào không.