Привет, Хабр! Представляю вашему вниманию перевод статьи Tuning your apps and games for long screen devices автора Fred Chung.
В последние месяцы растет тенденция к тому, что производители телефонов представляют новые устройства с длинным экраном (более 16: 9), многие из которых имеют закругленные углы. Pixel 2 XL и Huawei Mate 10 Pro — всего лишь два из множества примеров. Эти особенности экрана могут принести пользователям впечатляющий опыт, но они обращают внимание на приложения и игры, которые не используют экран длинного формата на новых устройствах. Поэтому для разработчиков важно оптимизировать такие экраны. Давайте посмотрим на соответствующую поддержку, предоставляемую ОС Android.
Большинство приложений, использующих стандартные виджеты пользовательского интерфейса, скорее всего, будут работать на этих устройствах. В документации Android уточняются методы для гибкой работы на экранах разных размеров. Однако некоторые игры и приложения с пользовательскими интерфейсами могут столкнуться с проблемами из-за неправильных предположений относительно определенных пропорций. Мы разделяем несколько типичных проблем, с которыми сталкиваются разработчики, поэтому вы можете обратить внимание на те, которые относятся к вам:
Если отзывчивый пользовательский интерфейс действительно не подходит для вашей ситуации, в крайнем случае объявите явное максимальное поддерживаемое соотношение сторон следующим образом. На устройствах с более высоким соотношением сторон приложение будет показано в режиме совместимости с системным почтовым ящиком. Имейте в виду, что некоторые модели устройств обеспечивают переопределение для пользователей, чтобы заставить приложение работать в полноэкранном режиме совместимости, поэтому обязательно протестируйте этот способ оптимизации и в такой ситуации.
Targets API level 26 или выше: используйте атрибуты
Targets API level 25 или ниже: используйте метаданные
Обратите внимание, что максимальные значения соотношения сторон будут соблюдаться только в том случае, если ваши действия не поддерживают
Подробнее см. Документацию.
Системные почтовые ящики в приложении используются когда объявленное максимальное соотношение сторон меньше экрана устройства.

Устройства с длинным соотношением сторон обеспечивают еще больше возможностей использования нескольких окон, что может повысить производительность пользователей. Начиная с Android 7.0, платформа предлагает стандартный способ для разработчиков реализовывать многооконный режим на поддерживаемых устройствах, а также выполнять перетаскивание данных между действующими окнами. Подробнее см. В документации.
Тестирование имеет решающее значение. Если у вас нет доступа к одному из устройств с длинным экраном, обязательно проверьте на эмуляторе необходимые свойства экрана и разрешения, которые описаны в документации эмулятора.
Мы знаем, что вы хотите порадовать своих пользователей устройствами с длинным экраном. С помощью нескольких шагов вы сможете гарантировать, что ваши приложения и игры будут в полной мере использовать эти устройства!
В последние месяцы растет тенденция к тому, что производители телефонов представляют новые устройства с длинным экраном (более 16: 9), многие из которых имеют закругленные углы. Pixel 2 XL и Huawei Mate 10 Pro — всего лишь два из множества примеров. Эти особенности экрана могут принести пользователям впечатляющий опыт, но они обращают внимание на приложения и игры, которые не используют экран длинного формата на новых устройствах. Поэтому для разработчиков важно оптимизировать такие экраны. Давайте посмотрим на соответствующую поддержку, предоставляемую ОС Android.
Оптимизация для экранов с длинным соотношением сторон
Большинство приложений, использующих стандартные виджеты пользовательского интерфейса, скорее всего, будут работать на этих устройствах. В документации Android уточняются методы для гибкой работы на экранах разных размеров. Однако некоторые игры и приложения с пользовательскими интерфейсами могут столкнуться с проблемами из-за неправильных предположений относительно определенных пропорций. Мы разделяем несколько типичных проблем, с которыми сталкиваются разработчики, поэтому вы можете обратить внимание на те, которые относятся к вам:
- Определенные стороны экрана обрезаны. Из-за этого любые графические элементы или элементы пользовательского интерфейса в затронутых областях выглядят неполными.
- Сенсорные цели смещаются от элементов пользовательского интерфейса (например, кнопок). Пользователи могут путать элементы
- В полноэкранном режиме на округлых углах устройств любые элементы пользовательского интерфейса, очень близкие к углам, могут находиться вне изогнутой области просмотра углов. Представьте, что нажатие на кнопку «Покупка» коммерческого приложения затруднено? Мы рекомендуем ссылаться на рекомендации по проектированию материалов, оставив боковые поля 16dp в макетах.
Если отзывчивый пользовательский интерфейс действительно не подходит для вашей ситуации, в крайнем случае объявите явное максимальное поддерживаемое соотношение сторон следующим образом. На устройствах с более высоким соотношением сторон приложение будет показано в режиме совместимости с системным почтовым ящиком. Имейте в виду, что некоторые модели устройств обеспечивают переопределение для пользователей, чтобы заставить приложение работать в полноэкранном режиме совместимости, поэтому обязательно протестируйте этот способ оптимизации и в такой ситуации.
Targets API level 26 или выше: используйте атрибуты
android: maxAspectRatio
Targets API level 25 или ниже: используйте метаданные
android.max_aspect
Обратите внимание, что максимальные значения соотношения сторон будут соблюдаться только в том случае, если ваши действия не поддерживают
resizableActivity
Подробнее см. Документацию.
Системные почтовые ящики в приложении используются когда объявленное максимальное соотношение сторон меньше экрана устройства.

Примите во внимание возможность использования параллельных действий
Устройства с длинным соотношением сторон обеспечивают еще больше возможностей использования нескольких окон, что может повысить производительность пользователей. Начиная с Android 7.0, платформа предлагает стандартный способ для разработчиков реализовывать многооконный режим на поддерживаемых устройствах, а также выполнять перетаскивание данных между действующими окнами. Подробнее см. В документации.
Тестирование имеет решающее значение. Если у вас нет доступа к одному из устройств с длинным экраном, обязательно проверьте на эмуляторе необходимые свойства экрана и разрешения, которые описаны в документации эмулятора.
Мы знаем, что вы хотите порадовать своих пользователей устройствами с длинным экраном. С помощью нескольких шагов вы сможете гарантировать, что ваши приложения и игры будут в полной мере использовать эти устройства!