我对Roku世界很新。我觉得这是一个非常简单直接的问题,但无法找出任何解决方案。任何帮助将不胜感激。
我正在尝试创建一个示例应用程序,其中包含UI中的三个按钮。所以,我选择 ButttonGroup 来做这个用例。
<ButtonGroup id="btnGroup" layoutDirection="horiz"
visible="true" translation="[90,601]"
itemSpacings="[20,20]" minWidth="240"
maxWidth="240" buttonHeight="80">
<Button id="button1" text="" iconUri="" focusedIconUri=""
focusFootprintBitmapUri="pkg:"
focusBitmapUri="pkg"/>
<Button id="button2" text="" iconUri="" focusedIconUri=""
focusFootprintBitmapUri="pkg:"
focusBitmapUri="pkg:"/>
<Button id="button3" text="" iconUri="" focusedIconUri=""
focusFootprintBitmapUri="pkg:"
focusBitmapUri="pkg:"/>
</ButtonGroup>
事情是,我可以通过&#34; up&#34; 和&#34; down&#34; 键来推进这个按钮遥控器,我实际上需要使用&#34;左&#34; 和&#34;右&#34; 键完成此操作。
由于我已将 layoutDirection 值设置为 horiz ,我认为提前和反向键会自动更改为&#34;对&#34; < / em>和&#34;分别为&#34; 。似乎没有按预期工作。我错过了什么吗?请帮忙。
答案 0 :(得分:1)
我通过 LayoutGroup 代替 ButtonGroup 以及 OnKeyEvent 功能帮助实现了这一目标。
不确定它是否是正确的做法。
如果可能,请提供最佳解决方案。
答案 1 :(得分:1)
来自Roku Documents:“ButtonGroup节点类管理VERTICAL Button节点列表的布局,可视属性和焦点管理。”所以它只适用于垂直按钮!顺便说一下,我不喜欢Roku默认按钮或ButtonGroup。您可以创建自己的按钮组件。在该组件中,在onKey事件中,您可以为垂直和水平按钮布局定义不同的行为。基于此,我认为你的方法很好。
答案 2 :(得分:0)
使用&#34; OnKeyEvent&#34;当key =&#34; left或&#34; right&#34;时,函数改变mybuttongroup.focusbutton。见下文:
function onKeyEvent(key as String,press as Boolean) as Boolean
if key = "left"
m.mybuttongroup.focusButton = 0 'left button
return true
else if key = "right"
m.mybuttongroup.focusButton = 1 'right button
return true
end if
return false
end function