如何在Roku中的Grid View上设置背景图像

时间:2019-09-10 08:53:19

标签: roku brightscript

我正在使用海报gridview并在Roku中显示多个海报。我在海报中使用了透明图像。有什么方法可以使用海报网格来更改白色或蓝色等背景?

编辑后的帖子:

我使用了如下的海报网格视图:

<PosterGrid 
      id = "ChannelPosterGrid" 
      translation = "[ 10 , 10 ]"      
      caption1NumLines = "2" 
      caption2NumLines = "2"
      numColumns="4"
      numRows="6"
      focusBitmapUri="pkg:/images/imagegrid.png"
      itemSpacing = "[ 20, 20 ]" /> 

在brs文件中,简单地进行访问:

m.top.grid = m.top.findNode("ChannelPosterGrid")

我尝试了三件事:

m.top.grid.backgroundURI = "pkg:/images/myImage.jpg" 'not work
m.top.backgroundURI = "pkg:/images/myImage.jpg" 'not work
scene.backgroundURI = "pkg:/images/white.jpg" 'Its set hole screen background 'scene is object of roSGScreen

1 个答案:

答案 0 :(得分:0)

在您的场景中

m.top.backgroundURI = "pkg:/images/myImage.jpg"

m.top.backgroundColor = "0x0000FF" ' you get the bluest of the blue

因此,如果您想为组件或子屏幕提供背景,我的方法是在其下有一个Poster节点。

<Poster
id="bgPoster"
translation="[0,0]"
width="100"
height="200"/>
<MyAnyOtherNode
width="100" height="200" translation="[0,0]"/>

,然后在脚本中:

m.bgPoster = m.top.FindNode("bgPoster")
m.bgPoster.uri = "pkg:/your/image/path"

请考虑将PosterGrid组件包装在某些自定义组件中。 因此,您可以封装这个小东西。只需扩展Group节点,然后将背景Poster和PosterGrid放入其中,然后添加<interface>字段即可设置背景。这样,您便可以随时以自己喜欢的方式设置背景。