我们如何在网格屏幕的每一行中显示每个项目的频道名称? 我能够在仅关注项目时显示,但我想在加载所有行列表时显示频道名称
答案 0 :(得分:0)
要为RowList中的每个项目创建一个自定义组件,您需要创建一个新的XML文件,该文件定义该项目并具有基于传入的ContentNode填充每个项目的功能。在您的情况下,我将使用LayoutGroup Scenegraph组件来组合图像和文本。另外,您需要包括一个itemContent接口字段,当将组件呈现为内容节点时将传递该字段。这是定义行项目的示例代码:
StudentResponse(String course, List<Student> students)
您还需要设置一个功能,以根据通过RowList发送的ContentNode为每个组件分配文本和徽标。最后,您需要在XML文件的RowList组件定义中包括以下字段:
<?xml version="1.0" encoding="utf-8" ?>
<component name="RowListItem" extends="Group">
<interface>
<field id="itemContent" type="node" onChange = "showcontent"/>
</interface>
<script type="text/brightscript" >
<![CDATA[
function init() as void
m.itemImage = m.top.findNode("itemImage")
m.itemText = m.top.findNode("itemText")
m.itemRectangle = m.top.findNode("itemRectangle")
end function
]]>
</script>
<children>
<LayoutGroup layoutDirection="vert" vertAlignment="top" itemSpacings="20" translation="[0,0]" >
<Rectangle
id="itemRectangle"
color="#A9A9A9"
opacity="0.9"
width="400"
height="350"
translation="[0,0]" >
<Poster
id="itemImage"
translation="[0,0]"
width="400"
height="180" />
<Label
id="itemText"
color="0xFFFFFF"
horizAlign="left"
translation="[10,200]"
font="font:MediumSystemFont"
width="400"
height="65" />
</Rectangle>
</LayoutGroup>
</children>
</component>
希望这会有所帮助!