2016-12-06 38 views
2

我使用main.brs代码来显示加载对话框的进度。如果我使用此代码进行进度对话框,则其默认背景占用完整屏幕。在这里我只想显示加载动画和背景的进度应该很少透明。任何人都可以请帮忙。如何在Roku场景图中控制进度对话框的背景不透明度?

'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

有一个叫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> 

此外,将图像添加到将被用来作为加载图像的文件夹的“图像”。 然后,在Main.brs中添加以下代码:

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

感谢罗马人的帮助。但我想删除默认的灰色背景,并使其透明,以便我的应用程序屏幕在后台可见。 你能帮我解答一下吗... –

+0

ProgressDialog是一种对话框。我不确定是否有可能删除它的背景。你应该使用自定义解决方案(就像我在这篇文章中写的)。 –

+0

我试过了,但它占据了完整的屏幕。至少是否有可能降低默认背景屏幕的高度和宽度? –