The best way is probably to use neither of the available layouts, but create your own one... a HexLayout... all you have to do is subclass ViewGroup and override the onLayout() method. This post might be of interest... http://arpitonline.com/blog/2012/07/01/creating-custom-layouts-for-android/ From the article ...
@Override
protected void onLayout(boolean changed, int l, int t, int r, int b) {
int itemWidth = (r-l)/getChildCount();
for(int i=0; i< this.getChildCount(); i++){
View v = getChildAt(i);
v.layout(itemWidth*i, t, (i+1)*itemWidth, b);
}
}
So in onLayout() you iterate over the children and place them accordingly.