Android 12 (API 級別 31) 重新設計現有的 Widget 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
的執行階段修改功能」。