Axure — по клику сдвигаем область контента и возвращаем на место

В этой заметке я подробно расскажу, как реализовать в Axure интерактив, показанный на изображении и покажу настройки некоторых элементов.
По клику сдвигаем область контента в Axure и возвращаем на место
Пример иллюстрирует ситуацию, когда на странице присутствует блок, имеющий дополнительные настройки, спрятанные в раскрывающейся области. А ниже этого блока расположен контент.
Таким блоком может быть «Поиск» с дополнительными параметрами или «Фильтр».
Раскрывать область дополнительных настроек поверх нижележащего контента не удачный UX. Я покажу, как сдвинуть контентную область при раскрытии дополнительных настроек и вернуть её на место при их закрытии.

Я использую Axure 9-й версии (вышла в апреле этого года), но все действия применимы и для «восьмерки».

1. Создаем основной блок, в моем примере это блок Поиска по каталогу.
Блок поиска в Axure
Здесь все просто. Я использовал 5 элементов: Box, Button, Heading, Text Field и svg иконку.

Я настроил элемент Text Field (поле ввода поискового запроса). В 9-м Axure изменился интерфейс, теперь они располагаются вот здесь (при выделении элемента):
Axure-настройка параметров элемента Text Field
Настройки:
Настройка параметров поля ввода в Axure 9
Hint Text — плейсхолдер
Hide After со значением Typing позволяет скрыть текст плейсхолдера при клике в поле ввода.
Скрываем текст плейсхолдера в поле ввода при клике в Axure
Для кнопки «Найти» и svg-иконки просто назначил Interaction styles Mouseover и выбрал значения, которые будут изменяться при этом состоянии.
Добавление эффекта mouseover в Axure 9

Для кнопки (цвет фона и текста):
Axure - по клику сдвигаем область контента и возвращаем на место
Для svg-иконки (цвет фона):
Interaction styles Mouseover для SVG Icon в Axure 9

Важно! Помещенная в проект svg-иконка, после применения команды Convert SVG to Shapes
Преобразование иконки в форму (Convert SVG to Shapes) в Axure

может содержать не один, а два и более шейпа:
Две формы после конвертации SVG в Axure

И если на эту группу применить Mouseover с какими либо параметрами, то они будут применяться по отдельности для каждого шейпа. Выглядеть это будет примерно так:
Свойство mouseover для svg из двух форм в Axure

Для того, чтобы все выглядело как надо, составные шейпы нужно выделить и по нажатию правой кнопки мыши выбрать команду Unite:
Объединение двух шейпов в один в Axure 9

Шейп становится единым:
Объединенные шейп в Axure из двух составных

Теперь Mouseover отрабатывает как нужно:
Стиль Mouseover в Axure для единого шейпа

Для удобства все элементы блока группируем (Ctrl+G), группе даем наименование:
Группа элементов в Axure

2. Создаем панель с дополнительными настройками, которая будет выдвигаться при клике на иконку, при повторном — задвигаться обратно.
Создаем панель с дополнительными настройками поиска в Axure 9

Здесь я использовал элементы: Box (для подложки), Drop List, Checkbox и Radio Button.

Настройка Drop List простая: при помощи кнопки +Add добавляем нужное количество пунктов, самый первый отмечаем, он будет показан в списке по умолчанию:
Настройка элемента Droplist в Axure 9

Остальные будут доступны для выбора:
Пункты выпадающего списка

Для Chekbox отмечаем опцию Selected — птичка будет установлена по умолчанию:
Опция Selected для Checkbox в Axure 9

Настройка Radio Button. Тут есть один нюанс: если просто разместить несколько радиобатонов, все они будут вести себя независимо друг от друга, то есть каждый из них можно сделать активным, что полностью противоречит назначению этого элемента (UX минус 3000):
Неверное использование элемента Radio Button в Axure

Для того, чтобы среди нескольких радиобатонов была возможность выбора только одного, каждому из них необходимо присвоить одну общую группу.
Для этого нужно выделить радиобатон, нажать правую кнопку мыши и выбрать пункт Assign Radio Group:
Назначение общей группы для Radio Button в Axure 9

Далее ввести наименование общей группы, например «Product-Status» и нажать ОК.
Имя группы для элементов Radio Button

Для остальных элементов просто выбрать эту группу из списка:
Выбор общей группы для Radio Button в Axure
Теперь внутри одной общей группы радиобатоны работают правильно (выбрать можно только один):
Radio Butons внутри общей группы работают правильно

Для того, чтобы один из батонов был выбран по умолчанию, выделяем его и из списка по правой кнопки мыши назначаем свойство Selected:
Назначение свойства Selected для Radio Button
Теперь все как надо:
Готовый блок с использованием Radio Buttons

Выделяем все элементы этого блока, группируем и создаем из них Динамическую панель:
Создание Динамической панели в Axure

Даем панели наименование
Наименование для Динамической панели

и устанавливаем для неё свойство Set Hiden
Свойство Set Hidden для Динамической панели в Axure

3. Поверх скрытого блока Дополнительных настроек создаем блок контента:
Контентный блок

В нем размещаем что угодно.
Группируем его элементы, группе даем наименование:
Наименование группы элементов контентного блока

4. Приступаем к интерактиву. Создаем появление панели дополнительных настроек при клике на иконку.

Это, как мы помним, будет происходить при клике на иконку.
Выделяем её и создаем копию:
Создание копии иконки

Переименовываем каждую из них:
Даем наименование иконкам для создания интерактива

И размещаем в одинаковых координатах:
Координаты положения элемента на странице в Axure

Суть: клик по первой (Icon-Open) будет выдвигать панель дополнительных настроек, клик по второй (Icon-Close) — прятать панель.

Выделяем иконку Icon-Open
Выбор элемента в панели Outline

и переходим во вкладку Interactions
Вкладка Interactions

Из списка Interactions выбираем событие OnClick
Событие OnClick из списка Interactions

Далее выбираем действие для события OnClick — Show/Hide
Назначение действия Show/Hide для события OnClick

и указываем блок (виджет), к которому это действие будет применено:
Выбор виджета для действия Show/Hide

Этим блоком является Динамическая панель с дополнительными настройками.

Указываем параметры для действия Show/Hide:
Настройка параметров для действия Show/Hide

Включаем переключатель в режим Show.
Значение Animate устанавливаем Slide Down.
Тип движения устанавливаем Linear. Это значение по вкусу. Оно влияет на поведение анимации — ускорение или замедление вначале или вконце, с отскоком и т.п.
Раскрываем свиток More Options и включаем значение Bring to Front.
Нажимаем Done, сохраняем проект.

Что было сделано: при клике по иконке (Icon-Open) отобразится динамическая панель (Search-Parameters-Panel) с применением анимации скольжения вниз (Slide Down) по линейной функции (Linear, то есть равномерно на протяжении всего времени без изменения скорости) и панель Search-Parameters-Panel будет помещена поверх всех элементов страницы (Bring to Front).

Если сейчас запустить предосмотр (Preview), и кликнуть по иконке, ничего не произойдет.
Потому что иконка Icon-Open сверху перекрыта Icon-Close (для которой никаких действий ещё не назначено) и клик происходит именно по ней.
Назначим для неё атрибут Set Hidden.
Сохраним проект и запустим предосмотр (Preview).

Теперь при клике панель должна появиться из-за блока поиска и перекрыть собой блок контента.
Показ динамической панели при клике

5. Подвинем контентный блок на необходимое расстояние одновременно с раскрытием панели доп.настроек.
Для этого снова выделяем иконку Icon-Open и открываем вкладку Interactions.

Нажимаем на Плюс
Добавление нового Action для элемента

и добавляем действие Move.
Добавление действия Move

Выбираем из списка виджет, на который будет распространяться действие Move, это группа с элементами контента:
Выбор виджета для действия Move

И настраиваем параметры:
Параметры действия Move

Значение Move переключаем с By на To:
Выбор режима To для действия Move

Указываем значения координат, которые примет блок, когда сдвинется.
Движение будет происходить по оси Y.
Текущее значения смотрим во вкладке Style:
Значения координат элемента во вкладке Style

Значение для X указывам такое же (оно изменяться не будет), а для Y определяем при помощи направляющей на странице проекта:
Определение значения для оси Y при перемещении элемента действием Move

Таким образом, настройки действия Move выглядят примерно так:
Настроенные параметры для действия Move у блока контента

Координаты указали, Animate я также устанавливаю в значение Linear.
Раскрываем свиток More Options и устанавливаем значение Trajectory в значение Straight (движение будет осуществляться прямо).

Сохраняем проект, открываем предосмотр.
Контентный блок сдвигается синхронно раскрытию панели доп. настроек.

5. Теперь нужно реализовать обратный функционал — по клику на иконку Icon-Close свернуть панель дополнительных настроек и вернуть контентный блок на место.
Иконка Icon-Close у нас сейчас в режиме Hide (скрыта, чтобы не заслонять иконку Icon-Open). Для того, чтобы навесить на неё необходимый интерактив, её нужно отобразить.
Для этого на OnClick иконки Icon-Open добавим ещё одно действие Show/Hide, в котором сделаем видимой иконку Icon-Close.

Выделяем иконку Icon-Open, переходим во вкладку Interactions, кликаем на Плюс и выбираем Show/Hide:
Действие Show/Hide к иконке

В настройках выбираем виджет Icon-Close и устанавливаем режим Show. Анимации не задаем, здесь она не нужна.
Кликаем ОК.

И давайте скроем иконку Icon-Open в качестве бонуса.

Снова выделяем её и в Interactions плюсуем Show/Hide. В качестве виджета указываем This Widget (Этот виджет, то есть которому создаем интерактив).
Действие Show/Hide выбор виджета This Widget

В настройках Show/Hide переключатель устанавливаем в режим Hide, также без анимации:
Переключение Show/Hide в режим Hide

Кликаем ОК, сохраняем проект.

Теперь при клике на иконку Icon-Open появляется панель настроек, сдвигается вниз контентный блок, сама иконка Icon-Open прячется и вместо неё появляется Icon-Close на том же месте. При отсутствии анимации подмена незаметна.

Далее нужно добавить интерактив для иконки Icon-Close.

Выбираем её в панеле Outline:
Выбор элемента в панели Outline

Переключаемся во вкладку Interactions.

Добавим событие OnClick и первое действие Show/Hide.
В качестве виджета для Show/Hide выберем динамическую панель дополнительных параметров поиска (Search-Parameters-Panel).

В настройках устанавливаем следующие параметры:
Настройки действия Show/Hide в режим Hide с анимацией Slide Up

Режим в значение Hide.
Animate — Slide Up (скольжение вверх).
Режим анимации — Linear.
Done, сохраняем проект, переходим в предосмотр.

Теперь при клике происходит появление панели, сдиг контентной части, при повторном клике панель прячется за блок поиска.
Но третий клик не срабатывает.
Это из-за того, что мы отобразили иконку Icon-Close и она осталась вместо Icon-Open.

Исправим это, добавив плюсом действие Show/Hide, указав в качестве цели иконку Icon-Open и включим режим Show.
Включение режима Show для действия Show/Hide

Сейчас мы вернули отображение иконки Icon-Open при клике на Icon-Close, но её интерактив не работает, потому что, как помним, она перекрывается иконкой Icon-Close.
Спрячем при помощи Show/Hide иконку Icon-Close.
Прячем виджет при помощи Show/Hide в Axure

Сохраняем проект, переходим в предосмотр.

Панель дополнительных настроек работает как надо — первый клик разворачивает, второй — сворачивает. И так далее.

Теперь при втором клике вернем контентный блок на место.
Для этого на элемент Icon-Close добавим действие Move, в качестве цели выберем группу с элементами контента и настроим.
Действие Move для элемента

Значения координат равны значениям исходного положения блока. Их узнаем из вкладки Style (предварительно выделив блок).
Значения координат элемента во вкладке Style

Остальные значения аналогичны настройкам Move при создании сдвига вниз по оси Y.

Done. Сохраняем, просматриваем. Все работает.

Demo


По той же теме:

Комментариев нет

* - обязательные поля

Добавить комментарий