如何在Roku场景图中控制进度对话框的背景不透明度?

时间:2016-12-06 05:37:29

标签: roku brightscript

我正在使用main.brs代码来显示进度加载对话框。如果我将此代码用于进度对话框,则其默认背景将占用整个屏幕。在这里我想只显示进度加载动画和背景应该是透明的。有人可以帮忙吗。

'Main.brs

ShowLoading = CreateObject("roSGScreen")
ShowLoading.CreateScene("ProgressDialogExample")
ShowLoading.show()

'ProgressDialogExample.Xml

<component name = "ProgressDialogExample" extends = "Scene">

  <script type = "text/brightscript" >
    <![CDATA[
    sub init()
        progressdialog = createObject("roSGNode", "ProgressDialog")
        progressdialog.title = "Loading..."
        m.top.dialog = progressdialogs
        m.top.setFocus(true)
    end sub 
    ]]>
  </script>
</component>

1 个答案:

答案 0 :(得分:1)

BusySpinner内部使用了一个名为ProgressDialog的特殊节点类。您可以将其与标签一起使用,以获得具有透明背景的进度对话框。 将以下代码添加到ProgressDialogExample.Xml文件中:

<children>
    <Group>
        <BusySpinner 
            id="spinner"
            translation="[570, 300]"
            control="start"
            clockwise="true"
            spinInterval="2" />
        <Label
            id="lblLoding"
            horizAlign="center"
            text="Loading"
            color="0x6c3b97ff"
            font="font:LargeBoldSystemFont"
            translation="[620, 300]" />
    </Group>
</children>

此外,将图像添加到文件夹&#34; images&#34;将用作加载图像。 然后,在Main.brs中添加以下代码:

spinner = m.top.FindNode("spinner")
spinner.poster.uri="pkg:/images/loader.png"