I Scene Graph Component bin mit eine Anwendung mit MarkupList und MarkupGrid zu entwickeln. Ich möchte ein benutzerdefiniertes Dialogfeld geöffnet, wenn Benutzer von der Anwendung beenden. Ich benutze roImageCanvas, um benutzerdefinierte Dialogfeld zu erstellen, aber nicht wissen, wie dies implementiert wird. Main.brs Datei Code ist ...So verwenden roImageCanvas in Szenengraph Komponente
sub main()
screen = CreateObject("roSGScreen")
m.port = CreateObject("roMessagePort")
screen.setMessagePor`enter code here`t(m.port)
scene = screen.CreateScene("HomeScene")
screen.show()
while(true)
msg = wait(1000, m.port)
msgType = type(msg)
if msgType = "roSGScreenEvent"
if msg.isScreenClosed() then showImageCanvas()
end if
end while
end sub
und roImageCanvas Code ist ...
Sub showImageCanvas()
print "sdfsdf"
canvasItems = [
{
url:"http://192.168.1.23/boardwalk.jpg"
TargetRect:{x:100,y:100,w:400,h:300}
},
{
url:"http://192.168.1.23/walking.jpg"
TargetRect:{x:500,y:400,w:400,h:300}
},
{
Text:"Hello ImageCanvas"
TextAttrs:{Color:"#FFCCCCCC", Font:"Medium",
HAlign:"HCenter", VAlign:"VCenter",
Direction:"LeftToRight"}
TargetRect:{x:390,y:357,w:500,h:60}
}
]
canvas = CreateObject("roImageCanvas")
port = CreateObject("roMessagePort")
canvas.SetMessagePort(port)
'Set opaque background
canvas.SetLayer(0, {Color:"#FF000000", CompositionMode:"Source"})
canvas.SetRequireAllImagesToDraw(true)
canvas.SetLayer(1, canvasItems)
canvas.Show()
while(true)
msg = wait(0,port)
if type(msg) = "roImageCanvasEvent" then
if (msg.isRemoteKeyPressed()) then
i = msg.GetIndex()
print "Key Pressed - " ; msg.GetIndex()
if (i = 2) then
' Up - Close the screen.
canvas.close()
end if
else if (msg.isScreenClosed()) then
print "Closed"
return
end if
end if
end while
End Sub
Im Allgemeinen möchte ich, wenn User-Exit von App showImageCanvas() aufgerufen werden soll. Ich habe auch versucht, showImageCanvas() Code in Scene-Datei zu setzen, aber es gibt immer Fehler, also bitte schlage mir vor, was ich falsch mache.
Eugene Smoliy # Danke für die Antwort. Können Sie bitte vorschlagen, wie Sie die Schaltfläche des Dialogfelds anpassen? – anil
[Dialog] (https://sdkdocs.roku.com/display/sdkdoc/Dialog) hat das Feld "buttonGroup", das Sie anstelle von "buttons" verwenden können, wenn Sie weitere Anpassungen benötigen. Sie müssen dort den Knoten [ButtonGroup] (https://sdkdocs.roku.com/display/sdkdoc/ButtonGroup) anstelle des String-Arrays einstellen. –
Eugene Smoliy @ Unterstützt roku die Pause/Fortsetzen-Funktion während der Video-Pufferung? Ich benutze ".m3u8" Dateiformat. – anil