Краткий ответ: Не делайте этого.
Перепроектируйте свое приложение, чтобы оно могло работать как в портретном, так и в альбомном режиме.Не существует такой вещи, как пользовательский интерфейс, который не может быть разработан для работы как в портретной, так и в альбомной ориентации;только ленивые или не обладающие воображением разработчики.
Причина довольно проста.Вы хотите, чтобы ваше приложение было доступно максимально широкой аудитории на максимально возможном количестве различных устройств.Привязывая определенную ориентацию экрана, вы не позволяете приложению запускаться (удобно) на устройствах, которые не поддерживают эту ориентацию, и вы расстраиваете и отталкиваете потенциальных клиентов, которые предпочитают другую ориентацию.
Пример. Вы разрабатываете свое приложениезаставить портретный режим.Клиент загружает приложение на устройство 2-в-1, которое они используют преимущественно в альбомном режиме.
Следствие 1. Ваше приложение непригодно для использования, или ваш клиент вынужден отстыковывать свое устройство, поворачивать его и использовать в незнакомой или неудобной для него ориентации.
Следствие 2. Клиент разочарован неинтуитивным дизайном вашего приложения и находит альтернативу или полностью отказывается от приложения.
Я борюсь с этим прямо сейчас с приложением, как с потребителем, так и сразработчик, я ненавижу это.Как бы ни было полезно приложение, какими бы фантастическими ни были его возможности, я абсолютно ненавижу это приложение, потому что оно заставляет меня использовать ориентацию, которая противоречит любому другому способу использования моего устройства.
Выне хочу, чтобы ваши клиенты ненавидели ваше приложение.
Я знаю, что это не дает прямого ответа на вопрос, поэтому я хочу объяснить его немного подробнее для тех, кому интересно.
Существует тенденция, что разработчики очень хорошо пишут код и действительно ужасны в дизайне.Этот вопрос, хотя и звучит как вопрос кода, и спрашивающий наверняка чувствует, что это вопрос кода, на самом деле является вопросом дизайна.
Вопрос на самом деле: «Должен ли я заблокировать ориентацию экрана в моем приложении?»Аскер выбрал дизайн интерфейса, чтобы он функционировал и выглядел хорошо только в портретном режиме.Я подозреваю, что это сэкономило время на разработку или потому, что рабочий процесс приложения особенно благоприятен для портретного макета (обычного для мобильных игр).Но эти причины пренебрегают всеми реальными важными факторами, которые мотивируют правильный дизайн.
Вовлеченность клиентов - вы хотите, чтобы ваши клиенты чувствовали себя втянутыми в ваше приложение, а не вытесненными из него.Приложение должно плавно переходить от того, чем занимался ваш клиент до открытия приложения.(По этой причине большинство платформ имеют согласованные принципы проектирования, поэтому большинство приложений выглядят более или менее одинаково, хотя и не обязаны.)
Реакция клиентов - вы хотите, чтобы ваши клиенты реагировалиположительно для вашего приложения.Они должны наслаждаться этим.Даже если это приложение для начисления заработной платы за работу, им должно быть приятно открыть его и включить часы. Приложение должно сэкономить время ваших клиентов и уменьшить разочарование по поводу альтернатив.(Приложения, которые раздражают пользователей, вызывают недовольство вашим приложением, которое перерастает в недовольство вашим брендом.)
Конверсия клиентов - вы хотите, чтобы ваши клиенты могли быстро и легко перейти от просмотра веб-страниц к интерактивному,Это конечная цель любого приложения - преобразовать показы в доход.(Приложения, которые не приносят доход, являются пустой тратой вашего времени на создание с точки зрения бизнеса.)
Плохо разработанный пользовательский интерфейс снижает вовлеченность клиентов и реагирование, что в конечном итоге приводит к снижению доходов.В мире, ориентированном на мобильные устройства (и особенно на тему режимов портретной и альбомной ориентации), это объясняет, почему адаптивный веб-дизайн так важен. Walmart Canada представила адаптивный дизайн на своем веб-сайте в ноябре 2013 года и увеличила конверсию клиентов на 20% . O'Neill Clothing внедрила адаптивный веб-дизайн и доход от клиентов, использующих iOSколичество устройств увеличилось на 101,25% и 591,42% от клиентов, использующих устройства Android .
Существует также тенденция разработчиков сосредоточиться на реализации конкретного решения.(например, блокировка ориентации экрана), и большинство разработчиков на этом сайте будут очень рады помочь реализовать это решение, не задаваясь вопросом, является ли это даже лучшим решением проблемы.
Блокировка ориентации экрана - это проект пользовательского интерфейса, эквивалентный реализации цикла действия.Вы действительно уверены, что хотите сделать это таким образом, или есть лучшая альтернатива?
Не заставляйте ваше приложение работать в режиме единого дисплея.Вложите дополнительное время и усилия, чтобы сделать его отзывчивым.