Плитки вашего приложения должны хорошо работать на устройствах 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.