Поделиться через


Оптическое масштабирование и изменение размера

В этой статье описывается масштабирование и изменение размера элементов Windows, а также рекомендации по использованию этих механизмов взаимодействия в приложениях.

Важные API: Windows.UI.Input, Input (XAML)

Оптическое масштабирование позволяет пользователям увеличивать представление содержимого в области содержимого (оно выполняется в самой области содержимого), а изменение размера позволяет пользователям изменять относительный размер одного или нескольких объектов, не изменяя представление области содержимого (она выполняется на объектах в области содержимого).

Как оптический зум, так и изменение размера выполняются с помощью жестов сжатия и растяжения (разведение пальцев увеличивает, а смыкание уменьшает изображение), либо с помощью удержания клавиши Ctrl при прокрутке колесика мыши, либо удержания клавиши Ctrl (вместе с клавишей Shift, если нет числовой клавиатуры) и нажатия клавиши плюс (+) или минус (-).

На следующих схемах показаны различия между изменением размера и оптическим масштабированием.

Оптическое масштабирование: пользователь выбирает область, а затем масштабирует всю область.

движение пальцев ближе друг к другу увеличивает область содержимого, а их разведение уменьшает

Изменение размера: пользователь выбирает объект в пределах области и изменяет размер этого объекта.

движение пальцев ближе друг к другу уменьшает объект, а разведение пальцев увеличивает его

Заметка Оптическое масштабирование не следует путать с семантическим масштабированием. Хотя одинаковые жесты используются для обоих взаимодействий, семантический масштаб ссылается на представление и навигацию содержимого, упорядоченного в одном представлении (например, структуру папок компьютера, библиотеку документов или фотоальбом).

 

Полезные советы

Используйте следующие рекомендации для приложений, поддерживающих изменение размера или оптическое масштабирование:

  • Если определены ограничения максимального и минимального размера или границы, используйте визуальный отзыв, чтобы продемонстрировать, когда пользователь достигает или превышает эти границы.

  • Используйте точки привязки, чтобы влиять на поведение масштабирования и изменения размера, предоставляя логические точки, в которых можно остановить манипуляцию и убедиться, что определённое подмножество содержимого отображается в режиме просмотра. Предоставьте точки привязки для распространенных уровней масштабирования или логических видов, чтобы пользователю было проще выбрать эти уровни. Например, фотоприложения могут предоставлять точку привязки для изменения размера в 100%, а в случае карт приложений, точки привязки могут быть полезны при просмотре города, штата и страны или региона.

    Точки оснастки позволяют пользователям не быть точными и по-прежнему достигать своих целей. Если вы используете XAML, ознакомьтесь с свойствами точек привязки ScrollViewer.

    Существует два типа точек привязки.

    • Близость — после того, как контакт снимается, точка привязки выбирается, если инерция останавливается в пределах порогового расстояния от точки привязки. Точки привязки по близости по-прежнему позволяют завершить увеличение масштаба или изменение размера между этими точками привязки.
    • Обязательный — выбранная точка привязки — это та, которая непосредственно предшествует или следует за последней точкой привязки, пересеченной до того, как контакт был снят, в зависимости от направления и скорости жеста. Манипуляция должна завершаться на обязательной точке привязки.
  • Используйте физику инерции. К ним относятся следующие:

    • Замедление: происходит, когда пользователь перестает щипнуть или растягивать. Это похоже на скольжение до полной остановки на скользкой поверхности.
    • Отскок: небольшой эффект отскока возникает, когда пересекается ограничение размера или граница.
  • Управление пространством в соответствии с рекомендациями по таргетингу.

  • Предоставьте дескриптор масштабирования для ограниченного изменения размера. Изометрическое, или пропорциональное, изменение размера используется по умолчанию, если управляющие элементы не указаны.

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

  • Не размещайте объекты с изменяемым размером в области содержимого, которая тоже изменяет размер. Ниже приведены исключения:

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

    Заметка Во всех случаях область содержимого изменяет размер, если только все точки касания не находятся в объекте, поддерживающем изменение размера.

Samples

Архивные примеры