從 Android Studio Koala 功能推送開始 Wear OS 應用程式的資訊方塊。當您的資訊方塊外觀時,這個面板特別實用 變化,例如根據使用者行為, 裝置的顯示大小,或是達到一半的體育賽事。
![預覽面板中的群組名稱與
預覽註解](https://developer.android.com/static/studio/images/design/wear-tiles-preview-panel.png?authuser=9&hl=zh-tw)
新增依附元件
在應用程式的 build.gradle.kts
中加入下列依附元件,或
build.gradle
檔案:
dependencies {
implementation("androidx.wear.tiles:tiles-tooling-preview:1.4.0")
debugImplementation("androidx.wear.tiles:tiles-tooling:1.4.0")
implementation("androidx.wear:wear-tooling-preview:1.0.0")
}
設定資訊方塊預覽
如何預覽資訊方塊在不同 Wear OS 螢幕上的外觀
大小、新增 @Preview
註解,並傳入 device
參數。注意事項
指出此 @Preview
註解並非來自您的套件
用於可組合項預覽。
import androidx.wear.tiles.tooling.preview.Preview
@Preview(device = WearDevices.SMALL_ROUND)
@Preview(device = WearDevices.LARGE_ROUND)
fun tilePreview(context: Context) = TilePreviewData(
onTileRequest = { request ->
TilePreviewHelper.singleTimelineEntryTileBuilder(
buildMyTileLayout()
).build()
}
)
新增及註冊資源
如果資訊方塊使用 Android 資源,您需要在
TilePreviewData
的 onTileResourceRequest
參數,如
下列程式碼片段:
import androidx.wear.tiles.tooling.preview.Preview @Preview(device = WearDevices.SMALL_ROUND) fun previewWithResources(context: Context) = TilePreviewData( onTileResourceRequest = { request -> Resources.Builder() .setVersion(myResourcesVersion) .addIdToImageMapping( myImageId, getImageById(R.drawable.myDrawableImageId)) .build() }, onTileRequest = { request -> TilePreviewHelper.singleTimelineEntryTileBuilder( buildMyTileLayout() ).build() } ) fun getImageById( @DrawableRes id: Int, ): ImageResource = ImageResource.Builder() .setAndroidResourceByResId( AndroidImageResourceByResId.Builder() .setResourceId(id) .build(), ) .build()
顯示平台資料來源的特定值
如果您的動態磚會使用平台資料,例如心率、卡路里、距離和 步驟 — 資訊方塊會顯示其預設值。
如要顯示特定值,請在建立時設定 platformDataValues
參數
TilePreviewData
物件,如以下程式碼片段所示:
import androidx.wear.tiles.tooling.preview.Preview @Preview(device = WearDevices.SMALL_ROUND) fun previewWithPlatformOverride(context: Context) = TilePreviewData( platformDataValues = PlatformDataValues.of( PlatformHealthSources.Keys.HEART_RATE_BPM, DynamicDataBuilders.DynamicDataValue.fromFloat(160f) ), onTileRequest = { request -> TilePreviewHelper.singleTimelineEntryTileBuilder( buildMyTileLayout() ).build() } )