The Bananas SDK was a good start, but now that TiVo has evolved to support multiple resolutions, the Bananas SDK needs to be enhanced for multiple resolutions. The largest problem with the Bananas SDK is the standard practice of hardcoding layout dimensions and font sizes. Bananas Plus seeks to eliminate that and have the skin define the layout sizes depending on the resolution. In addition Bananas Plus adds a few extra cool widgets.
Some advantages to using Bananas Plus over plain BananasThere are extra control types:
BMovableListPlus (similar to the season pass list) BShuttleBarPlus (for streams, aka the trickplay bar that goes over recordings/live) BScrollPanePlus (a scrolling viewport of a set of views) BTilesPlus (a view that tiles a resource repeatedly)
Some enhancements to existing controls:
buttons and lists both support "disabled" highlights (the black bar instead of the blue one) BKeyboardPlus is a more skinnable version of the keyboards and lets you make new keyboards that aren't restricted to a specific layout. It also gives you a "tall" keyboard similar to the browse by title feature on tivo. New layout manager to layout a screen using stretching and anchoring so you make one layout that adjusts itself depending on screen size instead of a layout for every resolution. (no more if/else statements littered all over your code for resolution differences) All plus controls (except keyboard) extend their non plus counterpart so you can use them interchangeably for the most part. dynamically resizable skin graphics if you use the ScaledImageElement class. fonts, colors and other settings are stored in the skin and scaled to the resolution and are easily overridden. Automatic resource management in components. Like BButtonPlus has a setValue method and automatically disposes of the resource when it's no longer used. Lists have cell renderers with a good default so you don't have to extend a list in most cases and can set the renderer to tell it how to render your list items. Makes code a little cleaner.
Note that any APIs are subject to change on any jars marked as "Beta".
Find the latest JavaDoc here
Copyright © 2013 Black Duck Software, Inc. and its contributors, Some Rights Reserved. Unless otherwise marked, this work is licensed under a Creative Commons Attribution 3.0 Unported License . Ohloh ® and the Ohloh logo are trademarks of Black Duck Software, Inc. in the United States and/or other jurisdictions. All other trademarks are the property of their respective holders.