【发布时间】:2018-05-05 03:26:20
【问题描述】:
您好,我正在开发一个 SDK,当用户在应用程序中执行某些事件时,它会显示自定义视图。我已经创建了这些视图的 xml,并且能够通过场景渲染它。但是面临的一个问题是,当显示此自定义视图时,焦点会转移到视图,但当它被解除时,焦点不会返回到先前具有焦点的节点。有什么方法可以达到同样的效果吗?
【问题讨论】:
标签: roku brightscript
您好,我正在开发一个 SDK,当用户在应用程序中执行某些事件时,它会显示自定义视图。我已经创建了这些视图的 xml,并且能够通过场景渲染它。但是面临的一个问题是,当显示此自定义视图时,焦点会转移到视图,但当它被解除时,焦点不会返回到先前具有焦点的节点。有什么方法可以达到同样的效果吗?
【问题讨论】:
标签: roku brightscript
例如,您可以在自定义视图上设置观察者,以观察该视图是否再次可见:
m.customview.ObserveField("visible", "onVisibleChange")
之后你需要像这样编写 onVisibleChange 函数:
Sub onVisibleChange()
if m.customview.visible
m.customview.setFocus(true)
end if
End Sub
这是解决此问题的一种可能方法。
【讨论】:
创建一个组件来处理添加/删除/设置组件的焦点,并使其成为您拥有的任何其他视图的一部分。
【讨论】: