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