新的Roku Scenegraph开发人员扩展似乎非常有用。我有两个SGDEX视图对我有用。但是,我需要将它们组合在一起,并且看不到有关如何执行操作的任何文档。
Custom + Scene示例就是我正在研究的内容。只需添加一下即可将searchView功能添加到此脚本中。
我尝试将SearchView作为组件添加。但是searchview示例是它自己的工作页面,我想将其添加为节点。我尝试过将其添加为突出部分,也尝试过将其添加为主页上的按钮。我都失败了。
请参阅Scenegraph开发人员扩展。
我只需要将SearchView功能添加到SGDEX中的Custom + Scene示例中。如果您熟悉的话,请提供如何执行此操作的示例。谢谢。
答案 0 :(得分:1)
已更新
看起来我们想要实现的是从custom + screen示例的主场景中打开searchView。
我更新了项目的feed.json文件,并在“系列”对象之后添加了一个新对象。
...
...
"search": [
{
"id": "search",
"title": "Search",
"releaseDate": "2015-06-11",
"shortDescription": "Will open search view.",
"thumbnail": "http://level2creative.com/wp-content/uploads/2017/08/image-search-ss-1920-800x450.gif",
"genres": [
"search"
],
"tags": [
"search"
],
"content": {
"dateAdded": "2015-06-11T14:14:54.431Z",
"captions": [],
"videos": [
{
"url": "http://roku.content.video.llnw.net/smedia/59021fabe3b645968e382ac726cd6c7b/Gb/siCt-V7LOSU08W_Ve1ByJY5N9emKZeXZvnrH2Yb9c/117_segment_2_twitch__nw_060515.mp4",
"quality": "HD",
"videoType": "MP4"
}
],
"duration": 53
}
}
]
在您的GridHandler.brs上,更改ParseJsonToNodeArray函数,让我们更改第27行的if条件,因此它将如下所示:
if fieldInJsonAA = "movies" or fieldInJsonAA = "series" or fieldInJsonAA = "search"
然后,在您的mainscene.brs上,转到方法“ OnGridItemSelected”,将其更改为类似以下内容:
rowContent = grid.content.GetChild(selectedIndex[0])
if rowContent.title = "search"
searchView = CreateObject("roSGNode", "SearchView")
searchView.hintText = "Search for something"
m.top.ComponentController.CallFunc("show", {
view: searchView
})
else
detailsView = ShowDetailsView(rowContent, selectedIndex[1])
detailsView.ObserveField("wasClosed", "OnDetailsWasClosed")
end if
这将打开searchView,如果您按回去,则应关闭searchView并将用户带回到gridView。