The Horizontal layout does not work correctly, it adds extra padding on the top. On iOS works correctly. Please take a look at the screenshots I posted within this issue.
Please run the code below(I attached project with example image). After running you would show a blue space which is the views background color. The images should start filling the view from the top-left (like in iOS).
// this sets the background color of the master UIView (when there are no windows/tab groups on it)
Titanium.UI.setBackgroundColor('#000');
PlatformWidth = Ti.Platform.displayCaps.platformWidth;
PlatformHeight = Ti.Platform.displayCaps.platformHeight;
$X = function(x) { return Math.round(x*(PlatformWidth/320)); }
$Y = function(y) { return Math.round(y*(PlatformHeight/480)); }
var win1 = Titanium.UI.createWindow({backgroundColor:'#fff' });
var grid = Ti.UI.createView({left: $X(7), right: $X(7), layout: 'horizontal', borderRadius:5, backgroundColor:"blue", height:$Y(3*79)});
grid.add(Ti.UI.createButton({ width: $X(101), height: $Y(78), backgroundImage: 'places.png' }));
grid.add(Ti.UI.createButton({ width: $X(101), height: $Y(78), backgroundImage: 'places.png' }));
grid.add(Ti.UI.createButton({ width: $X(101), height: $Y(78), backgroundImage: 'places.png' }));
grid.add(Ti.UI.createButton({ width: $X(101), height: $Y(78), backgroundImage: 'places.png' }));
grid.add(Ti.UI.createButton({ width: $X(101), height: $Y(78), backgroundImage: 'places.png' }));
grid.add(Ti.UI.createButton({ width: $X(101), height: $Y(78), backgroundImage: 'places.png' }));
grid.add(Ti.UI.createButton({ width: $X(101), height: $Y(78), backgroundImage: 'places.png' }));
grid.add(Ti.UI.createButton({ width: $X(101), height: $Y(78), backgroundImage: 'places.png' }));
grid.add(Ti.UI.createButton({ width: $X(101), height: $Y(78), backgroundImage: 'places.png' }));
win1.add(grid);
win1.open();
Layout bug confirmed with 2.1.0 master builds.
I cannot reproduce this issue. Tried with SDK 3.1.0
Closing ticket as the issue cannot be reproduced.