Android 12 小工具改善功能

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: 小工具和其中檢視畫面的圓角

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