Android 12 小工具改善功能

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