I've modified the SimpleRowList.zip example found here:
https://sdkdocs.roku.com/display/sdkdoc/rowlistMy version utilizes the failedBitmapUri and loadingBitmapUri field, but neither seem to work for me. I've tried with the following modifications:
1. Load a high res image into the poster thumbnail, which should result in a visible loading period for the image.
2. Load a non-existent image, which should cause the poster to fail.
Here's modified project:
https://www.dropbox.com/s/bbptomq2cx90k ... i.zip?dl=0Here's the updated SimpleRowList.xml file, with two modifications:
<?xml version="1.0" encoding="utf-8" ?>
<component name="SimpleRowList" extends="RowList" >
<script type="text/brightscript" >
<![CDATA[
function init()
print "in SimpleRowListPanel init()"
m.top.itemComponentName = "SimpleRowListItem"
'' ----- MODIFIED CODE ----- ''
m.top.failedBitmapUri="pkg:/images/MainMenu_Icon_Side_SD43.png"
m.top.loadingBitmapUri="pkg:/images/MainMenu_Icon_Side_SD43.png"
'' ----- @END MODIFIED CODE ----- ''
m.top.numRows = 1
m.top.itemSize = [196 * 3 + 20 * 2, 213]
m.top.rowHeights = [213]
m.top.rowItemSize = [ [196, 213] ]
m.top.rowItemSpacing = [ [20, 0] ]
m.top.rowFocusAnimationStyle = "floatingfocus"
m.top.content = GetRowListContent()
m.top.visible = true
m.top.SetFocus(true)
m.top.ObserveField("rowItemFocused", "onRowItemFocused")
end function
function GetRowListContent() as object
'Populate the RowList content here
data = CreateObject("roSGNode", "ContentNode")
row = data.CreateChild("ContentNode")
for i = 1 to 3
item = row.CreateChild("SimpleRowListItemData")
'' ----- MODIFIED CODE ----- ''
'' This image should fail, but we don't see failedLoadingBitmapUri
item.posterUrl = "http://www.fake.com/this_picture_does_not_exist.jpg"
' This is high-res image should take time to load, but we don't see loadingBitmap Uri
'item.posterUrl = "http://www.hd-wallpapersdownload.com/upload/bulk-upload/high-resolution-lion-pictures.jpg"
'' ----- @END MODIFIED CODE ----- ''
item.labelText = "This is item" + stri(i)
end for
return data
print "Leaving GetRowListContent"
end function
function onRowItemFocused() as void
row = m.top.rowItemFocused[0]
col = m.top.rowItemFocused[1]
print "Row Focused: " + stri(row)
print "Col Focused: " + stri(col)
end function
]]>
</script>
</component>
Greg Roman
Senior Software Engineer, AOL Alpha