Android 12 小工具改善功能

Android 12 (API 級別 31) 重新設計了現有的小工具 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-providerconfigure 屬性指定設定活動,應用程式小工具主機會在使用者將小工具新增至主畫面後,立即啟動該活動。

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