如何在Brightscript中开发自定义键盘?

时间:2016-08-24 12:38:35

标签: keyboard roku brightscript

我试图在Brightscript中创建自定义键盘。我发现Youtube和Netflix正在使用他们自己的键盘布局.Roku的键盘有点不同。像Youtube和Netflix一样不干净。来自Roku的Brightscript documentation,我发现了这个

  

键盘节点的默认外观非常透明,   允许键盘从中获取大部分颜色   在它下面渲染。外观可以通过改变来定制   keyboardBitmapUri和其他字段。

keyboardBitmapUri - 指定要加载的图像文件的URI,以替换在键标签和图标下方绘制的默认键盘图像。请注意,此图像必须经过精心设计,以便键位置与默认图像匹配。 SD,HD和FHD分辨率的模板图像如下所示。

是否有像这些键盘布局那样的示例代码?

Netflix键盘

enter image description here

Youtube键盘

enter image description here

我使用keyboard dialog时使用了以下代码

sub showdialog()
     screen = CreateObject("roKeyboardScreen")
     port = CreateObject("roMessagePort")
     screen.SetMessagePort(port)
     screen.SetTitle("Search Screen")
     screen.SetText("default")
     screen.SetDisplayText("enter text to search")
     screen.SetMaxLength(8)
     screen.AddButton(1, "finished")
     screen.AddButton(2, "back")
     screen.Show()

     while true
         msg = wait(0, screen.GetMessagePort())
         print "message received"
         if type(msg) = "roKeyboardScreenEvent"
             if msg.isScreenClosed()
                 return
             else if msg.isButtonPressed() then
                 print "Evt:"; msg.GetMessage ();" idx:"; msg.GetIndex()
                 if msg.GetIndex() = 1
                     searchText = screen.GetText()
                     print "search text: "; searchText
                     return
                 endif
             endif
         endif
     end while
    end sub 

如果您有任何建议,请与我们联系。

2 个答案:

答案 0 :(得分:1)

Netflix和YouTube几乎肯定没有使用roKeyboardScreen。如果要自定义roKeyboardScreen,请使用给定的模板 - 使用提供的布局。

答案 1 :(得分:1)

您可以随时创建自己的自定义键盘,看看我开发的这个示例。它是一个自定义键盘(用于数字输入),代码可在MIT许可下获得:

https://github.com/lvcabral/RokuNumericKeypad