Xem trước thẻ thông tin Wear OS trong Android Studio

Kể từ Bản cập nhật tính năng Koala trong Android Studio, bạn có thể xem ảnh chụp nhanh Các thẻ thông tin của ứng dụng Wear OS. Bảng điều khiển này đặc biệt hữu ích nếu giao diện của thẻ thông tin những thay đổi theo điều kiện, chẳng hạn như nội dung khác nhau tuỳ thuộc vào kích thước màn hình của thiết bị hoặc một sự kiện thể thao kéo dài đến giờ nghỉ giải lao.

Tên nhóm trong bảng xem trước khớp với tên nhóm được cung cấp trong
    xem trước chú thích
Bảng điều khiển xem trước thẻ thông tin trong Android Studio.

Thêm phần phụ thuộc

Đưa các phần phụ thuộc sau đây vào build.gradle.kts của ứng dụng hoặc Tệp 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")
}

Định cấu hình bản xem trước thẻ thông tin

Để xem bản xem trước giao diện của thẻ thông tin trên nhiều kích thước màn hình Wear OS, hãy thêm chú thích @Preview và truyền vào tham số device. Ghi chú chú thích @Preview này là từ một gói khác với gói bạn sử dụng cho bản xem trước thành phần kết hợp.

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()
    }
)

Thêm và đăng ký tài nguyên

Nếu thẻ thông tin của bạn sử dụng tài nguyên Android, bạn sẽ cần đăng ký chúng trong tham số onTileResourceRequest của TilePreviewData, như minh hoạ trong đoạn mã sau:

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()

Hiện các giá trị cụ thể từ nguồn dữ liệu nền tảng

Nếu thẻ thông tin của bạn sử dụng dữ liệu nền tảng (chẳng hạn như nhịp tim, lượng calo, quãng đường và các bước – thẻ thông tin sẽ hiển thị các giá trị mặc định cho tương ứng.

Để hiển thị một giá trị cụ thể, hãy đặt tham số platformDataValues khi tạo đối tượng TilePreviewData như minh hoạ trong đoạn mã sau:

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()
    }
)