Android自定义GridView与Masonry Logic

时间:2014-10-12 17:20:45

标签: android performance gridview android-arrayadapter android-custom-view

我对Android开发的世界很陌生,而且我使用Adapters和GridView相对比较舒服。但是,我希望在不使用第三方库的情况下使用GridView来构建更先进的东西,这似乎很难实现(不可能从我读过的内容)。即使使用像Etsy StaggeredGridView(https://github.com/etsy/AndroidStaggeredGrid)这样的第三方库,我似乎无法做到正确。我能得到的最好的就是排出其他行,Pinterest风格的行,但我喜欢的是这些行:

Android Custom GridView with Masonry Logic

每个nth cell实际上具有两个单元格的宽度并偏移网格。

所以我喜欢的方向是:

  1. 如何使用GridView / Adapter组合完成此重复模式?
  2. 或者失败了,我怎么能比在LinearLayout内嵌入一堆ScrollView并做一些非常混乱的逻辑更有效率呢?

1 个答案:

答案 0 :(得分:0)

你不能。 GridView无法合并这样的列。您可以尝试使用GridLayoutTabletLayout来获取该外观。但是既不支持适配器。您最好的选择是寻找第三方图书馆。

如果没有大量可滚动的内容,我会选择(网格/表格)布局。您可能会因内存消耗而受到轻微打击,但您可以节省大量时间来实现自己的自定义解决方案。如果不存在第三方库,那么这可能是您唯一的选择。

一种可能性是研究RecycleView。这是Android L的新视图,也将出现在支持库中。它基本上是ListView的更高级版本,允许您构建可自定义的布局,以滚动和回收其内容。从它的外观来看,它似乎可以让你为你的案例建立一个简单的解决方案。