Roku Developer Program

Developers and content creators—a complete solution for growing an audience directly.
cancel
Showing results for 
Search instead for 
Did you mean: 
btpoole
Level 7

roListScreen and roImageCanvas

This is probably a dumb question but I am really not sure if I understand. Is it possible to have roListScreen with a roImageCanvas at the same time? I have a roListScreen and would like to add a small player to the right side of the list, kinda of like a preview screen. I think I can create the roImageCanvas and FramedScreen but before I spend alot of timing trying to put it together wanted to make sure they will work together.
Thanks
0 Kudos
23 Replies
dcrandall
Level 7

Re: roListScreen and roImageCanvas

I don't know, but one thing I would think would get tricky is where you forward the events. Like, the list screen gets events as 'roListScreenEvent', I believe. So if you had the canvas on the upper layer... how would you get the events to the list screen when you needed them (I ask rhetorically, because I don't know either)?
0 Kudos
btpoole
Level 7

Re: roListScreen and roImageCanvas

Thank you for the input, and you are correct I attempted to put together something and having trouble with such.
0 Kudos
RokuMarkn
Level 7

Re: roListScreen and roImageCanvas

Only the top screen on the screen stack is active. That's the only screen that can accept input. So layering an ImageCanvas on a ListScreen will make the ListScreen dormant, even if part of it shows through the transparency.

--Mark
0 Kudos
EnTerr
Level 8

Re: roListScreen and roImageCanvas

"RokuMarkn" wrote:
Only the top screen on the screen stack is active. That's the only screen that can accept input. So layering an ImageCanvas on a ListScreen will make the ListScreen dormant, even if part of it shows through the transparency.

What if roImageCanvas handles the input events and uses setFocusedListItem() to manipulate the roListScreen underneath - will that do?

Naturally there will be no roListScreenEvents but if list-screen can be trusted to re-draw itself according to changes of focus, this contraption may work?!
0 Kudos
RokuMarkn
Level 7

Re: roListScreen and roImageCanvas

I'm not really sure. I don't think the ListScreen will redraw if it's not the top screen, but I'm not sure about that.

--Mark
0 Kudos
TheEndless
Level 7

Re: roListScreen and roImageCanvas

"EnTerr" wrote:
"RokuMarkn" wrote:
Only the top screen on the screen stack is active. That's the only screen that can accept input. So layering an ImageCanvas on a ListScreen will make the ListScreen dormant, even if part of it shows through the transparency.

What if roImageCanvas handles the input events and uses setFocusedListItem() to manipulate the roListScreen underneath - will that do?

Naturally there will be no roListScreenEvents but if list-screen can be trusted to re-draw itself according to changes of focus, this contraption may work?!

Last time I tried that, the answer was no. Only the top-most screen updates. You could potentially close and re-open the canvas to force an update to the list screen, but I suspect that would cause a nasty flicker.
My Channels: http://roku.permanence.com - Twitter: @TheEndlessDev
Instant Watch Browser (NetflixIWB), Aquarium Screensaver (AQUARIUM), Clever Clocks Screensaver (CLEVERCLOCKS), iTunes Podcasts (ITPC), My Channels (MYCHANNELS)
0 Kudos
btpoole
Level 7

Re: roListScreen and roImageCanvas

How is the Roku My Channels screen created? It looks like a roListScreen on the left with the menu options but there are multiple channel icons on the right.
0 Kudos
Roku Employee
Roku Employee

Re: roListScreen and roImageCanvas

"btpoole" wrote:
How is the Roku My Channels screen created? It looks like a roListScreen on the left with the menu options but there are multiple channel icons on the right.


The device home screen is not built with BrightScript
0 Kudos
btpoole
Level 7

Re: roListScreen and roImageCanvas

Can a roListScreen be target to a particular place on a canvas or is it always going to be the same size and located full screen? I understand the top most layer gets focus. What I am trying to accomplish is being able to have a pop up menu in one corner of the screen. I have the player below and a layer that comes up in the corner displaying my border of the pop up menu, in the target area of the pop menu border I can even get text to display on a layer above the border. All this works as desired. What I would like to have come up instead of just text I assign to the location is a list that comes from an array. Ideally this would be a roListScreen where the list is selectable and events would occur after the selection. I am fairly sure I can work thru the event to pass the info once a selection is made, I am just having trouble on how to get the list in the desired location.
Thanks for all the input.
0 Kudos