ใน Android Studio Koala Feature Drop คุณสามารถดูสแนปชอตของฟีเจอร์ การ์ดของแอป Wear OS แผงนี้จะเป็นประโยชน์อย่างยิ่งหากลักษณะที่ปรากฏของการ์ดของคุณ เปลี่ยนแปลงตามเงื่อนไขต่างๆ เช่น เนื้อหาแตกต่างกันไปตาม ขนาดการแสดงผลของอุปกรณ์ หรือกิจกรรมกีฬาถึงช่วงพักครึ่ง
![ชื่อกลุ่มในแผงดูตัวอย่างตรงกับชื่อกลุ่มที่ระบุใน
ดูตัวอย่างคำอธิบายประกอบ](https://developer.android.com/static/studio/images/design/wear-tiles-preview-panel.png?authuser=3&hl=th)
เพิ่มทรัพยากร Dependency
รวมทรัพยากร Dependency ต่อไปนี้ไว้ใน 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
นี้มาจากแพ็กเกจอื่นที่ไม่ใช่แพ็กเกจของคุณ
ใช้สำหรับตัวอย่างที่เขียนได้ด้วย Compose
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 คุณจะต้องลงทะเบียนทรัพยากรเหล่านั้นภายใน
พารามิเตอร์ onTileResourceRequest
ของ TilePreviewData
ดังที่แสดงใน
ข้อมูลโค้ดต่อไปนี้
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() } )