Sorry to be dumping my debugging process (and custom theme oddities) directly onto the forum, but I have now almost got a perfect infinitely scrolling horizontal list set up!
To get my custom item renderer to appear in the SpinnerList I had to comment out the setting of the selectionOverlaySkin property in setSpinnerListStyles() in my custom Theme (long story, but my sprite sheet is way older than the controls in the custom Theme, is missing the required sprites for a standard SpinnerList, and the dummy Sprite in there was obscuring the custom item renderers).
The only issue I have now is that the rendered items in the SpinnerList sit slightly off the left hand side of the screen. They were fine when they were used in a standard List control, but now each item seems to have a negative x value of about -20 pixels when a scroll completes. The x value isn't set to anything in the item renderer, and the SpinnerList definitely has an x value of 0.
I played around with some of the Layout properties suggested in this wiki (http://feathersui.com/help/horizontal-spinner-layout.html) but paddingLeft and paddingRight have been deprecated / haven't been released in the version of Feathers I'm using (2.2.0), and nothing else I spotted seemed to help.
The code that sets up my SpinnerList is as follows, any advice on how to get the items to snap to an x=0 position would be greatly appreciated.
//set up the horizontally scrolling list in the top panel
topBarScroller = new SpinnerList();
topBarScroller.itemRendererType = TopBarItemRenderer;
var layout:HorizontalSpinnerLayout = new HorizontalSpinnerLayout ();
topBarScroller.verticalScrollPolicy = List.SCROLL_POLICY_OFF;
topBarScroller.width = screenWidth;
topBarScroller.height = constants.TOP_BLOCK_HEIGHT * myMobileTheme.scale;
layout.padding = 10;
layout.gap = 5;
layout.typicalItemWidth = topBarScroller.width;
layout.typicalItemHeight = topBarScroller.height;
topBarScroller.layout = layout;
topBarScroller.x = 0;
topBarScroller.y = 0;
topBarScroller.dataProvider = null; // set later when the db loads
topBarScroller.selectedIndex = -1;
topBarScroller.snapToPages = true;
topBarScroller.scrollBarDisplayMode = feathers.controls.Scroller.SCROLL_BAR_DISPLAY_MODE_NONE;
topBarScroller.backgroundSkin = null;
topBarScroller.snapScrollPositionsToPixels = false;