Mengembangkan kartu untuk berbagai ukuran layar

Kartu aplikasi Anda akan berfungsi dengan baik di perangkat Wear OS dengan berbagai ukuran, dengan memanfaatkan ruang tambahan jika tersedia, dan juga masih terlihat bagus di layar yang lebih kecil. Panduan ini memberikan rekomendasi untuk mencapai pengalaman pengguna ini.

Untuk mempelajari lebih lanjut prinsip-prinsip desain untuk tata letak adaptif, baca panduan desain.

Membuat tata letak responsif menggunakan ProtoLayout

Library ProtoLayout Material menyediakan tata letak standar untuk membantu Anda mem-build kartu. Tata letak ini sudah didesain untuk beradaptasi dengan ukuran layar.

Lihat tata letak desain Figma, yang menunjukkan tata letak kanonis yang tersedia dan cara membuat desain menggunakan tata letak tersebut:

Sebaiknya gunakan PrimaryLayout atau EdgeContentLayout sebagai tata letak tingkat atas untuk sebagian besar kasus penggunaan. Tetapkan perilaku responsif menggunakan setResponsiveContentInsetEnabled, misalnya:

PrimaryLayout.Builder(deviceParameters)
    .setResponsiveContentInsetEnabled(true)
    .setContent(
        // ...
    )
.build()

Memberikan pengalaman yang berbeda melalui titik henti sementara

Tata letak dari library ProtoLayout Material sudah responsif dan menjaga visibilitas dan penempatan elemen yang benar. Namun, dalam beberapa kasus, Anda mungkin ingin memvariasikan jumlah elemen yang terlihat untuk mendapatkan hasil terbaik. Misalnya, Anda mungkin menginginkan 3 tombol pada layar yang lebih kecil, dan 5 tombol pada layar yang lebih besar.

Untuk menerapkan pengalaman yang berbeda semacam ini, gunakan titik henti sementara ukuran layar. Untuk menampilkan tata letak yang berbeda saat ukuran layar melebihi 225 dp:

PrimaryLayout.Builder(deviceParameters)
    .setResponsiveContentInsetEnabled(true)
    .setContent(
        MultiButtonLayout.Builder()
            .addButtonContent(button1)
            .addButtonContent(button2)
            .addButtonContent(button3)
            .apply {
                if (deviceParameters.screenHeightDp >= 225) {
                    addButtonContent(button4)
                    addButtonContent(button5)
                }
            }
            .build()
    )
    .setPrimaryLabelTextContent(label)
    .setPrimaryChipContent(compactChip)
    .build()

Panduan desain mengilustrasikan peluang tambahan.

Menguji kartu pada berbagai ukuran layar menggunakan Pratinjau

Penting untuk menguji tata letak Anda pada berbagai ukuran layar. Gunakan anotasi Pratinjau Kartu, beserta class TilePreviewHelper dan TilePreviewData:

@Preview(device = WearDevices.LARGE_ROUND)
fun smallPreview(context: Context) = TilePreviewData(
    onTileRequest = { request ->
        TilePreviewHelper.singleTimelineEntryTileBuilder(
            buildLayout()
        ).build()
    }
)

Hal ini memungkinkan Anda melihat pratinjau tata letak Kartu langsung di dalam Android Studio. Contoh titik henti sementara sebelumnya menggambarkan cara tombol tambahan ditampilkan saat ruang layar memungkinkan, saat dipratinjau:

Tombol tambahan di layar yang lebih besar

Tampilan kecil dan besar yang menunjukkan efek titik henti sementara

Untuk contoh lengkap, lihat contoh kartu media di GitHub.