使用Brightscript

时间:2019-07-10 09:48:08

标签: focus roku brightscript

我用明亮的脚本创建了一个登录表单。正在关注

''''''''''''''''''''''''''''''''''''''''''''' '''''''''''''''''''''''''''''''''''''''''''''''' '''''''''''''''''''''''''''''''''''''''''''''''' ''''''''''''''''''''''''''''''''

TextBox 1 '这里的焦点是活动的,我默认在TextBox字段中设置active = true

文本框2 '在这里按下键激活true

按钮1 '再次按下此键可将焦点对准真

''''''''''''''''''''''''''''''''''''''''''''' '''''''''''''''''''''''''''''''''''''''''''''''' '''''''''''''''''''''''''''''''''''''''''''''''' ''''''''''''''''''''''''''''''''

在这里,我使用3个不同的键维护3个项目。现在,我想使用向下键为所有3个项目维护单个键。任何人都想知道如何使用Brightscript保持焦点。

我使用了一个函数来进行键处理

function onKeyEvent(key as String, press as Boolean) as Boolean

.................

end function

现在,我保持了像 我在默认情况下将TextBox Focus设置为XML File,现在将Logic应用于下面。 默认情况下,第一项重点设置在XML文件上。

if key = "down" then 
       'Here Second item focus
       m.keypass.active = true ' Here work successfully First time
       if key = "down" and m.keypass.active = true and m.btnsub.active = false then
          'Here not maintain successfully its directly call here I press the down key.       
           m.keypass.active = false    
           m.btnsub.active = true 'Here third item focus is not maintained 

       end if
end if

我第一次按下向下键,效果很好,但是第二次如何处理Focus。我在向上键中使用了相同的内容。

在这里我使用“ and”,那么如果有任何想法,问题就会发生。

请检查一下这是我真正想要做的图像。 enter image description here

编辑后的帖子:

我用下面的代码使用向上和向下键进行处理。它正在工作,但是,它一次只能工作。

 if key = "up" or key = "down"  
        if key = "down" 

          ?"here down key"

            if m.keypass.id = "instructpass" and m.keypass.active = true
                  ? "down key if part"
                  m.btngrp.setFocus(true)
                  m.keypass.active = false         
                  handled = true
            else if m.keyid.id = "instructid" and m.keyid.active = true 
                ?" down key else part"     
                m.keypass.active = true
                m.keyid.active = false
                handled = true
            else if m.btngrp.buttonSelected = 0
                m.keyid.active = true
                m.btngrp.setFocus(false)
                handled = true              
            end if 

            handled = true

       else if key = "up" 

         ? "here up key"

           if  m.keypass.active = true
                  ?"up key if part"
                  m.keyid.active = true
                  m.keypass.active = false
                  handled = true
           else if  m.keyid.active = true
                  ?"id key"
                  m.btngrp.setFocus(true)
                  m.btngrp.focusButton = 1
                  m.keyid.active = false        
                  handled = true

           else if m.btngrp.focusButton = 0 and m.btngrp.buttonSelected = 0
                ?"up key else part"
                m.keypass.active = true
                m.keypass.setFocus(true)     
                m.btngrp.setFocus(false)
                handled = true

            end if

                handled = true
        end if
        handled = true
end if   

谢谢。

1 个答案:

答案 0 :(得分:0)

选中here

您应该使用.setFocus(true)和.hasFocus(),它们可用于大多数可渲染节点,例如TextEditBox和Button。

例如

if key = "down" then 
    if textBox1.hasFocus() then 
        textBox2.setFocus(true)
    elseif textBox2.hasFocus() then 
        button.setFocus(true)
    end if
end if

if key = "up" then 
    if button.hasFocus() then 
        textBox2.setFocus(true)
    elseif textBox2.hasFocus() then 
        textBox1.setFocus(true)
    end if
end if