Android 12 (API cấp 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 trong nền tảng cũng như 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, cũng như để tham khảo về các API để làm mới tiện ích hiện có.
Đả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 dùng trên một 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 để 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 các điều kiện sau:
Tiện ích chứa nội dung trong các góc: Điều này có thể khiến một số nội dung trong khu vực góc bị cắt.
Tiện ích này sử dụng nền không dễ bị cắt. Đối tượng này bao gồm nền trong suốt, khung hiển thị hoặc bố cục trống hay 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ể sẽ không xác định được chính xác nền để sử dụng.
Nếu thay đổi này ảnh hưởng đến tiện ích, 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ị chính xác.
Sử dụng mẫu
Để xem tất cả các API này trong thực tế, hãy xem tiện ích danh sách mẫu của chúng tôi.
Triển khai các góc tròn
Android 12 giới thiệu các tham số hệ thống system_app_widget_background_radius
và system_app_widget_inner_radius
để đặt bán kính góc tròn của tiện ích.
![Tiện ích thời tiết ở Tokyo](https://developer.android.google.cn/static/images/appwidgets/widget-weather.png?authuser=9&hl=vi)
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 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 trong giao diện ở chế độ sáng](https://developer.android.google.cn/static/images/appwidgets/example-lightmode.png?authuser=9&hl=vi)
![Tiện ích trong giao diện chế độ tối](https://developer.android.google.cn/static/images/appwidgets/example-darkmode.png?authuser=9&hl=vi)
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 cấu hình có thuộc tính configure
của appwidget-provider
, thì máy chủ lưu trữ 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 mang lại trải nghiệm cấu hình tốt hơn cho người dùng. Xem bài viết 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 các thành phần hiện có sau đây:
Tiện ích này vẫn không có trạng thái. Ứng dụng phải lưu trữ trạng thái và đăng ký các sự kiện thay đổi trạng thái.
![](https://developer.android.google.cn/static/images/appwidgets/home.png?authuser=9&hl=vi)
Để biết thông tin chi tiết, hãy xem phần Hỗ trợ hành vi có trạng thái.
Dùng API cải tiến đối với kích thước và bố cục tiện ích
Kể từ Android 12, bạn có thể tận dụng thêm nhiều thuộc tính kích thước được tinh chỉnh và bố cục linh hoạt hơn bằng cách chỉ định thêm các quy tắc ràng buộc về kích thước tiện ích, 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 của mình 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 nội dung 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.
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ẽ chuyển đổi mượt mà hơn khi người dùng khởi chạy ứng dụng từ một tiện ích. Hãy xem bài viết Bật quá trình chuyển đổi mượt mà hơn để biết thông tin 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 tập hợp khi điề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 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. Hãy xem tài liệu tham khảo API RemoteViews
để biết 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
.