2016-12-06 69 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

我試過了,但它佔據了完整的屏幕。至少是否有可能降低默認背景屏幕的高度和寬度? –