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

Android 12 (cấp độ API 31) cải tiến API Tiện ích hiện có để cải thiện trải nghiệm của người dùng và nhà phát triển trên nền tảng cũng như trình chạy. Hãy sử 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 tham khảo các API để 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ó các góc bo tròn. Khi một tiện ích ứng dụng được 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 nền đó để 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ị đúng cách trong một trong hai đ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. Điều này bao gồm nền trong suốt, chế độ xem 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. Hệ thống có thể không xác định được chính xác nền cần sử dụng.

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

Sử dụng mẫu

Để xem tất cả các API này 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 các tham số hệ thống system_app_widget_background_radius và system_app_widget_inner_radius để đặt bán kính cho các góc bo 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 khung hiển thị bên trong tiện ích

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

2 Góc của một khung hiển thị bên trong tiện ích.

Để biết thông tin chi tiết, hãy xem phần Triển khai góc bo tròn.

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

Kể từ Android 12, một tiện ích có thể sử 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à Giao diện tối. Điều này giúp quá trình chuyển đổi diễn ra mượt mà hơn và đảm bảo tính nhất quán giữa các tiện ích.

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

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

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

Nếu bạn chỉ định một hoạt động 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ẽ khởi 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 mang đến trải nghiệm định cấu hình tốt hơn cho người dùng. Hãy xem phần 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 tính năng hỗ trợ mới cho hành vi có trạng thái bằng cách sử dụng các thành phần hiện có sau:

Tiện ích này vẫn không có trạng thái. Ứng dụng của bạn phải lưu trữ trạng thái 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 về kích thước tiện ích bổ sung, đồng thời cung cấp bố cục thích ứng và bố cục chính xác.

Hãy xem phần Cung cấp bố cục tiện ích linh hoạt để biết thông tin chi tiết.

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

Android 12 cho phép bạn cải thiện trải nghiệm của 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 ích và Thêm nội dung mô tả cho tiện ích.

Cho phép chuyển đổi mượt mà hơn

Kể từ Android 12, trình chạy sẽ cung cấp hiệu ứng 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. Hãy xem phần Bật hiệu ứng chuyển đổi mượt mà hơn để biết thông tin chi tiết.

Sử dụng các tập hợ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 tập hợp khi điền sẵn ListView. Trước đây, khi sử dụng ListView, bạn cần triển khai và khai báo RemoteViewsService để trả về RemoteViewsFactory.

Để biết thông tin chi tiết, hãy xem bài viết 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 bổ sung 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. Hãy xem tài liệu tham khảo API RemoteViews để biết danh sách đầy đủ các phương thức được thêm vào.

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