明亮脚本中的 active 和 setFocus() 有什么区别?
What is the difference between active and setFocus() in bright script?
我是 Roku 世界的新手,我正在编写两个文本框。 TextEditbox1 active = true 显示光标和按下键,另一个 texteditbox2 active = true 隐藏 texteditbox1 然后显示 Texteditbox2 光标。问题是。我使用 setFocus() 而不是 active 对两个按钮执行的类似操作。它工作得很好。但是我尝试使用 Active 属性通过两个文本框来维护向下键和向上键。有可能吗?
我试过下面的东西。
TextEditBox1 active = true cursor is displayed
TextEditBox2 active = true cursor is displayed and TextEditBox1 cursor is hidden
我用双按钮进行同样的操作,它运行成功。
Button1 setfocus true focus is available
Button2 setfocus true focus is available and Button1 setfocus is hidden
这很愚蠢但是:
active
仅显示 TextEditBox 中闪烁的光标
当
当 TextEditBox 处理 keyPress
事件 时,setFocus()
给它真正的焦点
在我看来,正确使用它的唯一方法是通过设置 active=true
来模仿专注于该组件,但没有真正给予它,因为它会阻止所有关键事件。您可以制作一个包装器组件,它接收焦点然后设置 active=true
而不将其向下传递。并且(例如)当用户按下 'OK' 按钮时,此类组件将显示 KeyboardDialog。
更新:
clearOnDownKey="false"
可能会让您免于这种痛苦
我是 Roku 世界的新手,我正在编写两个文本框。 TextEditbox1 active = true 显示光标和按下键,另一个 texteditbox2 active = true 隐藏 texteditbox1 然后显示 Texteditbox2 光标。问题是。我使用 setFocus() 而不是 active 对两个按钮执行的类似操作。它工作得很好。但是我尝试使用 Active 属性通过两个文本框来维护向下键和向上键。有可能吗?
我试过下面的东西。
TextEditBox1 active = true cursor is displayed
TextEditBox2 active = true cursor is displayed and TextEditBox1 cursor is hidden
我用双按钮进行同样的操作,它运行成功。
Button1 setfocus true focus is available
Button2 setfocus true focus is available and Button1 setfocus is hidden
这很愚蠢但是:
active
仅显示 TextEditBox 中闪烁的光标
当
-
当 TextEditBox 处理
setFocus()
给它真正的焦点
keyPress
事件 时,在我看来,正确使用它的唯一方法是通过设置 active=true
来模仿专注于该组件,但没有真正给予它,因为它会阻止所有关键事件。您可以制作一个包装器组件,它接收焦点然后设置 active=true
而不将其向下传递。并且(例如)当用户按下 'OK' 按钮时,此类组件将显示 KeyboardDialog。
更新:
clearOnDownKey="false"
可能会让您免于这种痛苦