Разрабатывайте плитки для экранов разных размеров.

Плитки вашего приложения должны хорошо работать на устройствах Wear OS всех размеров, используя дополнительное пространство там, где оно доступно, и при этом отлично выглядеть на небольших экранах. В этом руководстве представлены рекомендации по достижению такого пользовательского опыта.

Чтобы узнать больше о принципах проектирования адаптивных макетов, прочтите руководство по дизайну .

Создавайте адаптивные макеты с помощью ProtoLayout.

Библиотека материалов ProtoLayout предоставляет предопределенные макеты, которые помогут вам создавать плитки. Эти макеты уже разработаны с учетом размера экрана.

Обратитесь к макетам дизайна Figma , которые демонстрируют доступные канонические макеты и способы создания вашего дизайна с их использованием:

Мы рекомендуем PrimaryLayout или EdgeContentLayout в качестве макетов верхнего уровня для большинства случаев использования. Установите адаптивное поведение с помощью setResponsiveContentInsetEnabled , например:

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

Обеспечьте дифференцированный опыт с помощью точек останова

Макеты из библиотеки материалов ProtoLayout уже адаптивны и обеспечивают правильное размещение и видимость элементов. Однако в некоторых случаях для достижения наилучших результатов может потребоваться изменить количество видимых элементов. Например, вам может понадобиться 3 кнопки на меньшем дисплее и 5 на большом.

Чтобы реализовать такого рода дифференцированное взаимодействие, используйте точки останова размера экрана . Чтобы отобразить другой макет, когда размер экрана превышает 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()

Руководство по проектированию иллюстрирует дополнительные возможности.

Тестируйте плитки на экранах разных размеров с помощью предварительного просмотра.

Важно протестировать макеты на экранах разных размеров. Используйте аннотации Tile Preview вместе с классами TilePreviewHelper и TilePreviewData :

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

Это позволяет вам просматривать макеты плиток непосредственно в Android Studio. Предыдущий пример точек останова иллюстрирует, как отображаются дополнительные кнопки, когда позволяет место на экране, при предварительном просмотре:

Дополнительные кнопки на больших дисплеях

Маленькие и большие дисплеи, показывающие эффект точки останова.

Полный пример см. в образце медиа-плиток на GitHub.