Всем привет! Сегодня мы рассмотрим один из базовых контролов для приложений Windows 8 – AppBar.
Пример кода и интерфейс AppBar c всплывающей панелью приведены ниже:
Спецификация Microsoft приводит следующие Best Practices при работе с контролом AppBar:
Вот собственно все, что я хотел вам рассказать о контроле AppBar. Полезные ссылки вы найдете ниже, спасибо за внимание, приятной разработки на Windows 8.
Полезные ресурсы:
Немного об этой серии статей. Все примеры будут приводится на языке JavaScript, то есть мы будем рассматривать только Windows Store JavaScript приложения и библиотеку WinJS.
Итак, панель AppBar является очень важным элементом интерфейса для многих приложений, так как в Windows 8 она заменяет классическое меню File. Как и все контролы в библиотеке WinJS, AppBar ориентирован на работу c touch. Чтобы активировать данную панель необходимо нажать и потянуть в нижней части экрана планшета (либо щелкнуть правой кнопкой мыши).
Полное имя контрола AppBar – WinJS.UI.AppBar. Создадим пустое приложение и добавим следующий код в разметку страницы default.html:
1: <div
2: data-win-control="WinJS.UI.AppBar"
3: data-win-options="{position:bottom, sticky:false}">
4: </div>
Готово, самая базовая реализация панели меню готова. Для панели доступно две основные опции:
- placement – место положение панели на странице. Устанавливает в каком месте экрана появится панель. Принимаются значения top или bottom. По умолчанию панель появляется внизу;
- sticky - активирует залипание панели. По умолчанию панель исчезает при нажатии на любой области вне панели (либо повторного щелчка правой кнопкой мыши). Если установить опцию Sticky в значение true - панель залипнет и убрать ее можно будет только явно нажав на кнопку закрытия.
Безусловно панель сама по себе была бы почти бесполезна, если бы в нее нельзя было помещать команды. За команды панели в WinJS отвечает класс WinJS.UI.AppBarCommand. Добавим в нашу панель несколько команд и посмотрим на результат:
1: <div data-win-control="WinJS.UI.AppBar"
2: data-win-options="{placement:bottom, sticky:false}">
3: <button data-win-control="WinJS.UI.AppBarCommand"
4: data-win-options="{icon:'help', label:'help'}"></button>
5: <hr data-win-control="WinJS.UI.AppBarCommand" data-win-options="{type:'separator'}"></hr>
6: <button data-win-control="WinJS.UI.AppBarCommand" data-win-options="{type:'toggle'}"></button>
7: </div>
Все добавленные команды появились в панели. Объекту WinJS.UI.AppBarCommand можно установить следующие опции(наиболее интересные):
- type – тип команды. Это может быть обыкновенная кнопка, переключатель, разделитель или всплывающая панель;
- icon – если вы выбрали тип кнопку - то из коробки вам предоставляют большой набор иконок в стиле Metro;
- flyout – идентификатор элемента WinJS.UI.Flyout на странице, который должен появляться при нажатии на кнопку;
- label – подпись под кнопкой.
Пример кода и интерфейс AppBar c всплывающей панелью приведены ниже:
1: <div data-win-control="WinJS.UI.AppBar"
2: data-win-options="{placement:bottom, sticky:false}">
3: <button data-win-control="WinJS.UI.AppBarCommand"
4: data-win-options="{type:'flyout', flyout:'myFlyout', icon:'world'}">
5: </button>
6: </div>
Спецификация Microsoft приводит следующие Best Practices при работе с контролом AppBar:
- Если есть такая возможность - разделяйте команды в AppBar по логическим группам при помощи разделителей;
- Если в вашем приложении для AppBar есть команды доступные на всех страницах приложения, а также команды, которые появляются только на определенных страницах, то общие команды следует размещать на одинаковых позициях на всех страницах приложения;
- Для удобства работы с touch устройствами – если пользователь выбрал элемент на странице с левой стороны экрана - то команды для этого элемента следует отобразить в правой части панели AppBar;
- Используйте режим залипания AppBar, если логика вашего приложения предполагает интенсивное использование команд из панели в одном контексте (например, операции с картинкой - обрезка, масштабирование, поворот, надпись - нет смысла скрывать AppBar после каждого вызова команды);
- При перенасыщении AppBar командами - группируйте их в сплывающие панели (режим flyout);
- Предусмотрите логику размещения команд на панели в случае использования приложения в snap режиме (в этом режиме ширина окна приложения, а следовательно и панели AppBar в несколько раз меньше обычного);
- Если в приложении есть горизонтальный скролл - убирайте область прокрутки из-под AppBar при активации панели;
- Используйте панель AppBar внизу окна для команд, а AppBar вверху окна - для навигации;
- Используйте стандартные стили для AppBar, команд панели, а также желательно только стандартные иконки для кнопок;
- Не стоит помещать в панель AppBar ключевые команды приложения (их следует размещать открыто на странице), команды Sign In. Sing Out, Sign Up, а также команды настроек и команды которые возможно поместить в контекстное меню.
Вот собственно все, что я хотел вам рассказать о контроле AppBar. Полезные ссылки вы найдете ниже, спасибо за внимание, приятной разработки на Windows 8.
Полезные ресурсы:
Комментариев нет:
Отправить комментарий