Эта статья является продолжением первой серии о новых возможностях работы с состояниями приложения.
Портретный режим
При изменении размера приложения наступит момент, когда высота будет больше, чем ширина. Это портретный режим. Именно поэтому вы должны разрабатывать портретный режим для ваших приложений.
Для этого:
- Добавьте новый элемент VisualState для вашего XAML. Давайте назовем его PortraitLayout.
- Используйте VisualStateManager для вызова этого состояния, когда ширина приложения меньше высоты.
Моя страница теперь содержит три состояния: один для 320px, один для портретного режима и один для любой другой ситуации. Когда срабаывает событие SizeChanged, если высота приложение больше ширины, используется PortraitLayout. В этом состоянии скрывается DefaultLayout и NarrowLayout и отображается только PortraitLayout.
Ниже приведены некоторые рекомендации, которым стоит следовать при переходе в портретный режим:
- Перейти к вертикальному шаблону
- Внести изменения в дизайн, если необходимо
- Поддерживать функциональность приложения
- Оставить те же самые размеры и отступы ваших элементов
Масштабирование
В зависимости от плотности экрана, в Windows можно масштабировать приложения и ресурсы. Например, кнопка площадью 40px будет гораздо меньше на 10,6″ 1920 * 1080 дисплее, нежели на 24″ 1920*1080.
Windows определяет три масштаба:
- 100%: по умолчанию
- 140%: используется при высоком разрешении экрана
- 180%: используется при очень высоком разрешении экрана
Вы можете предоставить свои ресурсы для всех трех масштабных коэффициентов для обеспечения эффективного масштабирования.
Чтобы сделать это, вам необходимо правильно именовать файл ваших изображений:
- [image_name].scale-100.jpg
- [image_name].scale-140.jpg
- [image_name].scale-180.jpg
Вот так вы можете обращаться к нему:
Обратите внимание, что вы также можете назвать так папку:
- \ scale-100\ image.jpg
- \ scale-140\ image.jpg
- \ scale-180\ image.jpg
Вот и все, что вам нужно сделать! Помните, что симулятор поможет вам протестировать приложений на разных разрешениях экрана.
Возможности Launcher’а
Приложения связаны. Они используют URL или файлы протокола для связи. С Windows 8 и старой многозадачной моделью, когда приложение было запущено из другого, оно запускалось в полноэкранном режиме.
В Windows 8.1, пользователи могут использовать до 4 приложений одновременно, они не хотят потерять контексте того, что они делают, когда открывается новое.
Чтобы запустить приложение, вы должны использовать API Launcher. Этот класс определяет два метода:
- LaunchUriAsync: принимает URI в качестве параметра
- LaunchFileAsync: принимает IStorageFile в качестве параметра
Эти два метода также принимают объект LauncherOptions в качестве второго дополнительного параметра. В Windows 8.1, класс LauncherOptions теперь имеет свойство DesiredRemainingView типа ViewSizePreference. Это перечисление, которое используется для определения места запуска приложения. Оно содержит следующие значения:
- Default: значение по умолчанию. Если в приложении не указано предпочтительный размер, будет использоваться UseHalf
- UseLess: запускаемое приложение использует менее 50% экрана
- UseHalf: оба приложения используют половину экрана
- UseMore: запускаемое приложение использует более 50% экрана
- UseMinimum: запускаемое приложение настроено на использование минимального размера(500 или 320 пикселей)
- UseNone: запускаемое приложение использует 100% экрана
Например, если мы используем следующий код, то приложение Bing News будет запущено и использовать 50% экрана.
Если мы устанавливаем DesiredRemainingView в ViewSizePreference.UseMinimum, пусковая приложение будет использовать 320 пикселей, потому что минимальный размер, определенный в манифесте установлен в 320.
Предпочтение размера не всегда соблюдается (вот почему это называется «предпочтение»). Некоторые приложения могут переопределить этот параметр. Вот пример:
В этом примере я запускаю приложение Фотографии благодаря протоколу файла и указываю, чтобы мое приложение использовать более чем 50% экрана. Тем не менее, приложение Фотографии открывается и мое приложение сохраняет лишь около трети экрана.
Действительно, когда приложение определяет протокол, оно может указать желаемый вид, в котором хочет запуститься.
Когда эта опция установлена, она всегда будет переопределить значение LauncherOption DesiredRemainingView. Короче говоря, когда вы запускаете приложение, вы можете указать предпочтительный размер, но вы никогда не можете быть уверенными, что так оно будет на самом деле.
В этой четвертой статье мы увидели, как построить большой приложение для любого экрана. Мы также узнали, как использовать новое API для запуска приложений и пользоваться новой многозадачной моделью.
Ссылка на источник: Developing a Windows 8.1 application (4/8): Windowing
Добавить комментарий