zombiebox
Version:
ZombieBox is a JavaScript framework for development of Smart TV and STB applications
35 lines (26 loc) • 2.54 kB
Markdown
Spatial navigation
===
Навигация осуществляется одним из двух способов:
1. Проверяется наличие подходящего правила перехода. Правило перехода
задается с помощью метода *setNavigationRule,* в который передается
виджет, с которого осуществляется переход, направление, виджет на
который осуществляется переход, а также необязательный флаг
двунаправленности, при наличии которого будет справедливо обратное
правило для данного перехода;
2. Если подходящего правила перехода не найдено, задействуется
пространственная навигация. В этом случае подходящий виджет
определяется на основании положения предыдущего виджета;
Виджеты, помещенные в контейнер, также являются контейнерами и могут
содержать другие виджеты. В связи с этим иногда может потребоваться
задать виджет по умолчанию, который будет активирован в случае, когда
предыдущего активного виджета еще нет. Это делается с помощью метода
*setDefaultWidget,* который принимает инстанс виджета и делает его
виджетом по умолчанию.
В целях отладки существует возможность активации debug режима с помощью
*setNavigationDebug*. В этом случае в процессе навигации границы
виджетов будут подсвечиваться разными цветами:
- Красный - предыдущий виджет, который находился в фокусе до
наступления события навигации;
- Зеленый - текущий виджет в фокусе;
- Серый - все остальные виджеты, попавшие в область навигации.
TODO: Состояние виджета: isFocusable, isEnabled, isVisible