Android 12 小工具改善項目

Android 12 (API 級別 31) 翻新了現有的 Widgets API,以改善平台和啟動器中的使用者和開發人員體驗。本指南將說明如何確保小工具與 Android 12 相容,以及做為重新整理現有小工具的 API 參考資料。

替代文字

確認您的小工具與 Android 12 相容

Android 12 中的小工具採圓角設計。在搭載 Android 12 以上版本的裝置上使用應用程式小工具時,啟動器會自動識別小工具的背景,並將小工具裁剪為圓角。

在這種情況下,在下列情況中,小工具可能無法正確顯示:

  • 小工具角落的內容:這可能會導致邊角區域的部分內容遭到裁剪。

  • 小工具使用的背景無法裁剪。這包括透明背景、空白檢視畫面或版面配置,或任何其他不容易裁剪的特殊背景。系統可能無法正確識別要使用的背景。

如果您的小工具會受此變更影響,建議您使用圓角 (如下一節所述) 重新整理小工具,確保能正確顯示。

使用範例

如要查看這些 API 的實際運作情形,請參閱範例清單小工具

實作圓角

Android 12 推出了 system_app_widget_background_radiussystem_app_widget_inner_radius 系統參數,可設定小工具圓角的半徑。

東京天氣小工具
圖 1: 小工具的圓角,以及小工具內的檢視畫面

1 小工具的邊角。

2 小工具中檢視畫面的邊角。

詳情請參閱「實作圓角」。

新增裝置主題設定

自 Android 12 起,小工具可針對按鈕、背景和其他元件 (包括淺色和深色主題) 使用裝置主題顏色。讓不同小工具之間的轉換和一致性更順暢。

詳情請參閱新增裝置主題設定

淺色模式主題的小工具
圖 2:淺色主題的小工具
深色模式主題的小工具
圖 3:深色主題的小工具

輕鬆打造個人化的小工具

如果您指定具有 appwidget-provider configure 屬性的設定活動,則應用程式小工具主機會在使用者將小工具新增至主畫面後立即啟動該活動。

Android 12 新增了選項,讓您為使用者提供更優質的設定體驗。詳情請參閱「允許使用者設定小工具」。

新增複合按鈕

Android 12 使用下列現有元件,新增對有狀態行為的支援:

小工具仍為無狀態。您的應用程式必須儲存狀態並註冊狀態變更事件。

圖 4: 含有核取方塊的小工具範例

詳情請參閱「支援有狀態行為」。

針對小工具大小和版面配置使用改良的 API

自 Android 12 起,只要指定額外的小工具大小限制,並提供回應式版面配置和確切的版面配置,即可使用更精細的大小屬性和更靈活的版面配置。

詳情請參閱「提供靈活的小工具版面配置」。

改善應用程式的小工具挑選器體驗

Android 12 可讓您新增動態小工具預覽和小工具說明,改善應用程式的小工具挑選工具體驗。詳情請參閱「在小工具挑選器中新增可縮放小工具預覽」和「為小工具新增說明」。

啟用更流暢的轉場效果

自 Android 12 起,當使用者透過小工具啟動應用程式時,啟動器可以提供流暢的轉場效果。詳情請參閱「啟用更順暢的轉場效果」。

使用簡化的 RemoteViews 集合

Android 12 新增了 setRemoteAdapter(int viewId, RemoteViews.RemoteCollectionItems items) 方法,可讓應用程式在填入 ListView 時直接傳遞集合。過去使用 ListView 時,您必須實作並宣告 RemoteViewsService,才能傳回 RemoteViewsFactory

詳情請參閱「使用 RemoteViews 集合」。

使用 RemoteViews 的執行階段修改功能

Android 12 新增了多個 RemoteViews 方法,可在執行階段修改 RemoteViews 屬性。如需新增的方法完整清單,請參閱 RemoteViews API 參考資料。

詳情請參閱「使用 RemoteViews 的執行階段修改」。