我有一个使用roPinEntryDialog
的Roku应用程序,如下所示:
function EnterCode() as Boolean
screen = CreateObject("roPinEntryDialog")
mp = CreateObject("roMessagePort")
screen.SetMessagePort(mp)
screen.SetNumPinEntryFields(8)
screen.SetTitle("Enter Code")
screen.AddButton(0, "Next")
screen.AddButton(1, "Cancel")
screen.Show()
while true
msg = wait(0, screen.GetMessagePort())
if type(msg) = "roPinEntryDialogEvent"
print "Show Code: Index: ";msg.GetIndex();" Data: ";msg.GetData()
if msg.isScreenClosed()
return false
else if msg.isButtonPressed()
token=screen.Pin()
print "token: ";token
if msg.GetIndex() = 0 then return true
if msg.GetIndex() = 1 then return false
endif
endif
end while
end function
当我使用此对话框时,它会将输入的数字显示为星号。我尝试使用screen.SetSecureText(false)
,但不幸的是,它仅适用于文本框。有没有办法显示输入的数字?如果没有,我应该尝试一个替代的数字对话吗?
答案 0 :(得分:2)
Roku员工在这里。
Cassidy,请注意,my example以及组件的包含将导致渠道更新自2018年1月起未通过我们的认证。此外,组件将在下一年从固件本身中删除。 roPinEntryDialog包含在不推荐使用的组件列表中。
虽然仍然要使用SDK1 UI提交频道更新,但您最终必须更新SceneGraph中的UI。鉴于您已经在使用频道,现在可能是转换频道的理想时机。
如上所述,我建议使用PinPad,PinDiaglog,Keyboard或KeyboardDialog节点。如果您肯定被锁定使用旧的SDK1模型,那么您可以使用old SDK1 visual screen components are actually deprecated,但是您可能会冒着让用户输入字母和数字的风险。
答案 1 :(得分:0)
roPinEntryDialog不支持。如果您正在编写SceneGraph应用程序,则可以使用PinPad小部件或MiniKeyboard。