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

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

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

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

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

Для реализации такого дифференцированного взаимодействия используйте контрольные точки по размеру экрана . Чтобы отобразить другой макет, когда размер экрана превышает 225 dp:

materialScope(this, requestParams.deviceConfiguration) {
    // ...
    val isLargeScreen = deviceConfiguration.screenWidthDp >= 225
    primaryLayout(
        mainSlot = {
            buttonGroup {
                buttonGroupItem { button1 }
                buttonGroupItem { button2 }
                buttonGroupItem { button3 }
                if (isLargeScreen) {
                    buttonGroupItem { button4 }
                    buttonGroupItem { button5 }
                }
            }
        }
    )
}

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

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

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

@Preview(device = WearDevices.LARGE_ROUND)
fun smallPreview(context: Context) = TilePreviewData {
    TilePreviewHelper.singleTimelineEntryTileBuilder(
        materialScope(context, it.deviceConfiguration) {
            myAdaptiveLayout() // varies the layout depending on the size of the screen
        }
    )
        .build()
}

Это позволяет просматривать макеты плиток непосредственно в Android Studio.

Полный пример смотрите в примере плиток таймера на GitHub.