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」。