Изменения ориентации на Surface Duo

Для оптимальной поддержки устройств с двумя экранами действия должны поддерживать изменение размера и реагирование на изменения конфигурации. Для этого добавьте следующие строки в манифест действия:

android:resizeableActivity="true"
android:configChanges="screenSize|smallestScreenSize|screenLayout|orientation"

Это также означает, что действие не будет перезапускаться при каждом изменении размера.

На Surface Duo следующие действия будут запускать событие изменения конфигурации:

  • Изменение ориентации — изменены пропорции приложения.
  • Развертывание или свертывание — пользователь перетаскивает приложение для вертикального или горизонтального развертывания на двух экранах.

При возникновении этих событий приложение должно скорректировать макеты в соответствии с ориентацией устройства и учесть область маскирования на месте петли. Для этого можно воспользоваться такими способами:

  • Используйте API DisplayMask от Майкрософт, чтобы запросить размеры экрана и петли, и вручную обновите макеты.
  • Используйте API Jetpack Window Manager от Google, чтобы запросить размеры экрана и петли, и вручную обновите макеты.
  • Используйте расширенные элементы управления, такие как библиотека для двухэкранных устройств, которые выполняют автоматическую адаптацию под петлю.

Примеры