Android 12 (API 級別 31) 重新設計了現有的小工具 API,以提升平台和啟動器的使用者與開發人員體驗。請參閱本指南,瞭解如何確保小工具與 Android 12 相容,並將本指南做為參考資料,瞭解如何使用 API 重新整理現有小工具。
確認小工具與 Android 12 相容
Android 12 的小工具採圓角設計,在搭載 Android 12 以上版本的裝置上使用應用程式小工具時,啟動器會自動識別小工具的背景,並裁剪成圓角。
在這種情況下,如果符合下列任一條件,小工具可能無法正常顯示:
小工具的角落含有內容:這可能會導致角落區域的部分內容遭到裁剪。
小工具使用的背景不會遭到裁剪。包括透明背景、空白檢視區塊或版面配置,或是任何其他不會裁剪的特殊背景。系統可能無法正確識別要使用的背景。
如果小工具會受到這項異動影響,建議您使用圓角重新整理小工具 (如下一節所述),確保小工具正常顯示。
使用範例
如要查看這些 API 的實際運作情形,請參閱範例清單小工具。
實作圓角
Android 12 推出 system_app_widget_background_radius
和 system_app_widget_inner_radius
系統參數,可設定小工具圓角的半徑。

1 小工具的角落。
2:小工具內檢視區塊的角落。
詳情請參閱「實作圓角」。
新增裝置主題設定
從 Android 12 開始,小工具可以針對按鈕、背景和其他元件使用裝置主題顏色,包括淺色和深色主題。這樣一來,不同小工具之間的轉場效果會更流暢,且風格一致。
詳情請參閱「新增裝置主題設定」。


更輕鬆地自訂小工具
如果您使用 appwidget-provider
的 configure
屬性指定設定活動,應用程式小工具主機會在使用者將小工具新增至主畫面後,立即啟動該活動。
Android 12 新增多項選項,可讓您為使用者提供更優質的設定體驗。詳情請參閱「允許使用者設定小工具」。
新增複合按鈕
Android 12 透過下列現有元件,新增對有狀態行為的支援:
小工具仍為無狀態,應用程式必須儲存狀態,並註冊狀態變更事件。

詳情請參閱「支援有狀態的行為」。
使用改良版 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
」。