您可以建立動態、個人化的生成小工具預覽畫面,準確反映小工具在使用者主畫面上的顯示方式。這些預覽畫面是透過推送 API 提供,也就是說,應用程式可在生命週期中的任何時間點提供預覽畫面,不需收到小工具主機的明確要求。
本指南說明如何為以 Glance 為基礎的小工具提供預覽畫面。RemoteViews:請參閱「在小工具挑選器中新增預覽畫面」。
如要改善應用程式的 Glance 小工具挑選器體驗,請在 Android 15 以上版本的裝置上,使用 GlanceAppWidget.providePreview 提供生成的小工具預覽畫面,並在較低版本上指定 previewImage,以及在 Android 15 以上版本上,如果無法提供生成的小工具預覽畫面,則指定做為備用。
詳情請參閱 YouTube 上的「使用最新即時資訊和微工具豐富應用程式」。
設定應用程式,預覽生成的小工具
如要在搭載 Android 15 以上版本的裝置上顯示生成的小工具預覽畫面,請先在模組 build.gradle 檔案中將 compileSdk 值設為 35 以上,以便在小工具挑選器中啟用生成預覽畫面。
應用程式接著可以使用 GlanceAppWidgetManager 中的 setWidgetPreview。為防止濫用及降低系統健康疑慮,setWidgetPreview 是有頻率限制的 API。預設限制約為每小時兩次呼叫。
使用 Jetpack Glance 生成更新後的預覽畫面
如果是使用 Jetpack Glance 建構的小工具,請按照下列步驟操作:
覆寫
GlanceAppWidget.providePreview函式,為預覽畫面提供可組合內容。就像在provideGlance中一樣,載入應用程式的資料並傳遞至小工具的內容可組合函式,讓預覽畫面顯示正確的資料。與provideGlance不同,這是單一組合結構,沒有重組或效果。呼叫
GlanceAppWidgetManager.setWidgetPreviews即可生成及發布預覽畫面。
系統不會提供回呼來顯示預覽畫面,因此應用程式必須決定何時呼叫 setWidgetPreviews。更新策略取決於小工具的用途:
- 如果小工具含有靜態資訊或屬於快速操作,請在應用程式首次啟動時設定預覽畫面。
- 應用程式有資料後,您就可以設定預覽畫面,例如在使用者登入或初始設定後。
- 您可以設定定期工作,按照選定的頻率更新預覽畫面。
排解生成預覽的問題
常見問題是,生成預覽畫面後,預覽圖片可能會缺少圖片、圖示或其他可組合項,具體取決於小工具的放置大小。這個縮減大小是由 targetCellWidth 和 targetCellHeight (如有指定) 定義,或由應用程式小工具供應商資訊檔案中的 minWidth 和 minHeight 定義。
這是因為 Android 預設只會轉譯小工具最小尺寸可顯示的可組合項。換句話說,Android 預設會將 previewSizeMode 設為 SizeMode.Single。系統會使用應用程式小工具供應器資訊 XML 中的 android:minHeight 和 android:minWidth,判斷要繪製哪些可組合函式。
如要修正這個問題,請覆寫 GlanceAppWidget 中的 previewSizeMode,並將其設為 SizeMode.Responsive,提供一組 DpSize 值。這會告知 Android 預覽畫面需要算繪的所有版面配置大小,確保所有元素都能正確顯示。
針對特定板型規格進行最佳化。請提供一或兩種大小,從最小值開始,並遵循小工具的中斷點。請至少指定一個 previewImage,以支援較舊的 Android 版本。如要瞭解不同格線大小適用的最小 DP 值,請參閱小工具設計指南。
支援較低 Android 版本
如要在搭載 Android 14 以下版本的裝置上顯示小工具預覽畫面,或在 Android 15 以上版本無法使用產生的預覽畫面時,請指定 previewImage 屬性。
如果您變更小工具的外觀,請更新預覽圖片。