Các điểm cải tiến về tiện ích trên Android 12

Android 12 (API cấp 31) cải tiến Widgets API hiện có để cải thiện trải nghiệm người dùng và nhà phát triển trong nền tảng và trình chạy. Hãy dùng hướng dẫn này để tìm hiểu cách đảm bảo tiện ích của bạn tương thích với Android 12, đồng thời dùng làm tài liệu tham khảo cho các API cho làm mới tiện ích hiện có.

Văn bản thay thế

Đảm bảo tiện ích của bạn tương thích với Android 12

Các tiện ích trong Android 12 có góc bo tròn. Khi một tiện ích ứng dụng được sử dụng trên thiết bị chạy Android 12 trở lên, trình chạy sẽ tự động xác định nền của tiện ích và cắt bớt để có các góc bo tròn.

Trong trường hợp này, tiện ích của bạn có thể không hiển thị chính xác ở một trong hai các điều kiện sau:

  • Tiện ích chứa nội dung ở các góc: Điều này có thể khiến một số nội dung ở khu vực góc bị cắt bớt.

  • Tiện ích sử dụng nền không dễ bị cắt bớt. Điều này bao gồm nền trong suốt, thành phần hiển thị hoặc bố cục trống hoặc bất kỳ loại nền đặc biệt nào khác không dễ bị cắt bớt. Hệ thống có thể không xác định chính xác nền cần sử dụng.

Nếu thay đổi này ảnh hưởng đến tiện ích của bạn, thì bạn nên làm mới tiện ích bằng các góc tròn (như được mô tả trong phần sau) để đảm bảo hình ảnh hiển thị đúng cách.

Sử dụng mẫu

Để xem tất cả các API này đang hoạt động, hãy xem tiện ích danh sách mẫu của chúng tôi.

Triển khai góc bo tròn

Android 12 ra mắt system_app_widget_background_radiussystem_app_widget_inner_radius tham số hệ thống để đặt bán kính góc tròn của tiện ích.

Tiện ích thời tiết ở Tokyo
Hình 1: Các góc bo tròn trên một tiện ích và một chế độ xem bên trong tiện ích đó

1 Góc của tiện ích.

2 Góc của thành phần hiển thị bên trong tiện ích.

Để biết thông tin chi tiết, hãy xem bài viết Triển khai góc tròn.

Thêm giao diện cho thiết bị

Kể từ Android 12, một tiện ích có thể dùng màu giao diện của thiết bị cho các nút, nền và các thành phần khác, bao gồm cả giao diện sáng và tối. Điều này giúp chuyển đổi mượt mà và nhất quán trên các tiện ích khác nhau.

Hãy xem phần Thêm giao diện cho thiết bị để biết thêm thông tin.

Tiện ích ở giao diện chế độ sáng
Hình 2: Tiện ích ở giao diện sáng
Tiện ích trong giao diện chế độ tối
Hình 3: Tiện ích ở giao diện tối

Giúp cá nhân hoá tiện ích dễ dàng hơn

Nếu bạn chỉ định một hoạt động định cấu hình bằng thuộc tính configure của appwidget-provider, thì máy chủ Tiện ích ứng dụng sẽ chạy hoạt động đó ngay sau khi người dùng thêm tiện ích vào màn hình chính.

Android 12 bổ sung các tuỳ chọn mới để giúp bạn cung cấp trải nghiệm tốt hơn cho người dùng. Xem Cho phép người dùng định cấu hình tiện ích để biết thông tin chi tiết.

Thêm nút phức hợp mới

Android 12 bổ sung khả năng hỗ trợ mới cho hành vi có trạng thái bằng cách sử dụng sau đây là các thành phần hiện có:

Tiện ích vẫn không có trạng thái. Ứng dụng của bạn phải lưu trữ tiểu bang và đăng ký các sự kiện thay đổi trạng thái.

Hình 4: Ví dụ về tiện ích có hộp đánh dấu

Để biết thông tin chi tiết, hãy xem phần Hỗ trợ hành vi có trạng thái.

Sử dụng các API cải tiến cho kích thước và bố cục tiện ích

Kể từ Android 12, bạn có thể tận dụng các thuộc tính kích thước tinh tế hơn và bố cục linh hoạt hơn bằng cách chỉ định các quy tắc ràng buộc kích thước tiện ích bổ sung, cũng như cung cấp bố cục thích ứng và bố cục chính xác.

Hãy xem bài viết Cung cấp bố cục tiện ích linh hoạt để biết chi tiết.

Cải thiện trải nghiệm bộ chọn tiện ích của ứng dụng

Android 12 cho phép bạn cải thiện trải nghiệm bộ chọn tiện ích cho ứng dụng bằng cách thêm bản xem trước tiện ích động và nội dung mô tả tiện ích. Để biết thông tin chi tiết, hãy xem phần Thêm bản xem trước tiện ích có thể mở rộng vào bộ chọn tiện íchThêm nội dung mô tả cho tiện ích.

Giúp quá trình chuyển đổi diễn ra suôn sẻ hơn

Kể từ Android 12, trình chạy sẽ cung cấp quá trình chuyển đổi mượt mà hơn khi người dùng chạy ứng dụng của bạn từ một tiện ích. Xem phần Bật tính năng mượt mà hơn để biết chi tiết.

Sử dụng bộ sưu tập RemoteViews đơn giản

Android 12 thêm phương thức setRemoteAdapter(int viewId, RemoteViews.RemoteCollectionItems items), cho phép ứng dụng của bạn truyền trực tiếp một bộ sưu tập khi điền sẵn ListView. Trước đây, khi sử dụng ListView, thì bạn cần phải triển khai và khai báo Trả lại RemoteViewsService RemoteViewsFactory.

Để biết thông tin chi tiết, hãy xem phần Sử dụng bộ sưu tập RemoteViews.

Sử dụng tính năng sửa đổi thời gian chạy của RemoteViews

Android 12 thêm một số phương thức RemoteViews cho phép sửa đổi các thuộc tính RemoteViews trong thời gian chạy. Xem tài liệu tham khảo API RemoteViews để xem danh sách đầy đủ các phương thức đã thêm.

Để biết thông tin chi tiết, hãy xem phần Sử dụng tính năng sửa đổi thời gian chạy của RemoteViews.