Я использовал компонент стека представлений, предоставленный Roku на некоторых опубликованных каналах.
Я рекомендую вам использовать его, это облегчит работу с экраном.
Пожалуйста, смотрите Github Образец Документы .
Возможно, на первый взгляд установка может быть болезненной, но определенно, это большемасштабируемость по мере роста приложений.
Чтобы отобразить экран, вы называете его следующим образом:
screenOne = CreateObject("roSGNode", "customScreen")
m.top.ComponentController.CallFunc("show", {
view: screenOne
})
Чтобы закрыть экран вручную, вам просто нужно изменить свойство «close» наtrue.
screenOne.close = true
Вы можете продолжать вызывать метод show, и он добавит все эти представления в стек.
Вы также получаете некоторые функциональные возможности, позволяя компонентному контроллеру управлять вашим стеком экрана:
• currentView - Ссылки на представление, отображаемое в данный момент ViewStack (это представление представляет представление, отображаемое ViewStack.
• allowCloseChannelOnLastView - Если установлено значение true, канал закрывается при нажатии кнопки «Назад» или если предыдущее представление установило для поля закрытия представления значение true
• allowCloseLastViewOnBack - Если значение равно true, текущее представление закрывается,и пользователь может открыть другое представление с помощью обратного вызова wasClosed нового представления
Обратите внимание, что Если отображается другое представление без использования ViewStack, оно не будетотражено в стеке или может быть доступно по текущей ссылке на источник)