怎么实现一个gridview的特殊布局

如何实现一个gridview的特殊布局
首先我有一列数据源,要想在手机屏幕竖屏状态下一个listview正常显示
以google+这个app为示例:
怎么实现一个gridview的特殊布局
当手机横屏状态时,则双列显示数据,规则是,从左往右顺序加载数据源,每个单位数据所在版块的高度根据内容自适应,同时版块之间紧密贴合(不能留白)
图例:
怎么实现一个gridview的特殊布局

我之前用gridview在加载数据源,结果发现每行如果高度不同,控件就会自动流出很大一片空白。所以没有实现效果。

这个布局的特殊性在于:当有一边的数据特别多,高度大过另一边数据版块,下一次加载数据就是从另一边开始(为了紧密布局),造成了有时候连续在一侧加载2次或者多次的情况。
怎么实现一个gridview的特殊布局
------解决方案--------------------
其实最简单也最高效的就是单独写一套在横屏下的布局,layout-land区别于layout-port就可以了,其实Google+的应用应该是用Fregment实现的,而Fregment是可由系统自识别布局的,你了解下。