是否可以显示在roPinEntryDialog中输入的数字?

时间:2017-06-13 21:19:23

标签: roku brightscript

我有一个使用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),但不幸的是,它仅适用于文本框。有没有办法显示输入的数字?如果没有,我应该尝试一个替代的数字对话吗?

2 个答案:

答案 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