Roku Developer Program

Join our online forum to talk to Roku developers and fellow channel creators. Ask questions, share tips with the community, and find helpful resources.
cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 
sunny77
Visitor

Develop home screen just like Amazon OnDemand

Hi All,
I am new to Roku development and have some basic questions.
We are trying to develop an App with home screen just like the one in Amazon Ondemand App - https://cacoo.com/diagrams/VlmkHx3OiFOVI2bN

Can you please provide help as to how one can develop this custom screen?

We are also looking at developing some additional interactivity on the detail screen ("Related Movies" feature) - https://cacoo.com/diagrams/VlmkHx3OiFOVI2bN#D0253

Will this be possible ? What kind of customizations do I need to do?

Thanks in Advance.

-Sunny
0 Kudos
11 REPLIES 11
destruk
Binge Watcher

Re: Develop home screen just like Amazon OnDemand

Any customized screen you want would have to be done with roImageCanvase or roScreen. It's a lot of work to develop custom interfaces, but if you are dead set on it it's possible. The channel code itself doesn't need to be complex - most graphics you will need to pull down from your CDN/Webserver as you can't fit much into the storage constraints of the app itself.
0 Kudos
RokuJoel
Binge Watcher

Re: Develop home screen just like Amazon OnDemand

I believe that is the new roListScreen that did not make it into the documentation, hopefully we will have some docs for that in the not too distant future.

- Joel
0 Kudos
sunny77
Visitor

Re: Develop home screen just like Amazon OnDemand

Thanks a lot. Appreciate your reply.

How simple is the customization to roSpringboard to get the "Related Movies" feature at the bottom? Just like the wireframe below.

https://cacoo.com/diagrams/VlmkHx3OiFOVI2bN#D0253



-Sunny
0 Kudos
TheEndless
Channel Surfer

Re: Develop home screen just like Amazon OnDemand

"sunny77" wrote:
Thanks a lot. Appreciate your reply.
How simple is the customization to roSpringboard to get the "Related Movies" feature at the bottom? Just like the wireframe below.
https://cacoo.com/diagrams/VlmkHx3OiFOVI2bN#D0253
-Sunny

It's not. You'd have to draw a completely custom screen either with an roScreen or roImageCanvas. The built-in screens don't provide that type of functionality.
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
destruk
Binge Watcher

Re: Develop home screen just like Amazon OnDemand

"RokuJoel" wrote:
I believe that is the new roListScreen that did not make it into the documentation, hopefully we will have some docs for that in the not too distant future.

- Joel


Good things come to those who wait 🙂 Any other goodies that didn't make it into the docs?
0 Kudos
Corgalore
Visitor

Re: Develop home screen just like Amazon OnDemand

Is there a way to get a breakdown of the available methods on that roListScreen object using BrightScript?

Could you post a quick example of how to use it or at least the method to set the content of the screen? SetContentList or something?

Thanks!
0 Kudos
renojim
Community Streaming Expert

Re: Develop home screen just like Amazon OnDemand

This is what I could figure out from experimentation. There's probably much more.
Sub RunUserInterface()
screenFacade = CreateObject("roPosterScreen")
screenFacade.showMessage("roListScreen test")
screenFacade.show()

port = CreateObject("roMessagePort")
roLS = CreateObject("roListScreen")
roLS.setMessagePort(port)
roLS.SetContent([{title:"This is the first item"},{title:"Another item"},{title:"The third item"}])

roLS.show()

while true
msg = wait(0, port)
if type(msg) = "roListScreenEvent"
print "Event: ";type(msg)
print msg.GetType(),msg.GetIndex(),msg.GetData()
if msg.isScreenClosed() then 'ScreenClosed event'
print "Closing list screen"
exit while
else if msg.isListItemFocused() then
print "isListItemFocused"
else if msg.isListItemSelected() then
print "isListItemSelected -";msg.GetIndex()
roLS.Close()
end if
else
print "Event: ";type(msg)
print msg.GetInfo()
end if
end while

print "Exiting app"
screenFacade.showMessage("")
sleep(25)
End Sub

-JT
Roku Community Streaming Expert

Help others find this answer and click "Accept as Solution."
If you appreciate my answer, maybe give me a Kudo.

I am not a Roku employee.
0 Kudos
Anonymous
Visitor

Re: Develop home screen just like Amazon OnDemand

The documentation isn't final, but the below should help:

CreateObject("roListScreen")

Void SetContent(Object contentList)
Void AddContent(Object item)
Void SetItem(Integer index, Object item)
Void ClearContent()
Void RemoveContent(Integer index)
Void SetFocusedListItem(Integer index)
Void SetHeader(String header)
Void SetTitle(String title)
Boolean Show(Void)
Void Close(Void)
0 Kudos
shumanity
Visitor

Re: Develop home screen just like Amazon OnDemand

That's very helpful, thanks Patrick!

Any hints as to theme attributes? Or is anyone out there a better guesser than I am? ListScreenHeaderText was easy enough to guess, but I couldn't figure out how to change the color of the text items (normal and highlighted).
0 Kudos