Android的异构gridview像pinterest?
是否有可能使用GridView
在Android上创build像布局一样的pinterest? 我想使用GridView
创build图像库,但我不确定是否是好的解决scheme。 我不想创build三个LinearLayouts
(我认为这个解决scheme不好: android样式的listview或gridview )
有任何想法吗 ;)?
像下面一样创build布局
<ScrollView...> <LinearLayout.... android:id="@+id/linear1" orientation="horizontal"> <LinearLayout.... android:id="@+id/linear2" android:layout_weight="0.33" orientation="vertical"> <LinearLayout.... android:id="@+id/linear3" android:layout_weight="0.33" orientation="vertical"> <LinearLayout.... android:layout_weight="0.33" orientation="vertical"> </LinearLayout> </ScrollView>
现在,在布局中dynamic添加ImageView
linear1 = (LinearLayout) findViewById(R.id.linear1); linear2 = (LinearLayout) findViewById(R.id.linear2); linear3 = (LinearLayout) findViewById(R.id.linear3); for(int i=0;i<n;i++) { ImageView iv = new ImageView(this); iv.setImageResource(R.id.icon); int j = count % 3; <---- if(j==0) linear1.addView(iv); else if(j==1) linear2.addView(iv); else linear3.addView(iv); }
输出:
我一直在玩这个(使用LinearLayout),但最后我有很多内存消耗问题(特别是当我不得不重新加载项目)。 我解决了使用两个同步ListView的简单解决scheme。 这样我可以利用内部caching ,这有助于很多。 为此,我不得不使用同步列表的OnTouchListener和OnScrollListener 。 这是一个例子:
一些用于实现Pinterest网格视图的有用库:
用于同步2个ListView的滚动的独立帮助程序: https : //gist.github.com/yanchenko/6179793
对于这个问题的最近访问者,我build议使用RecyclerView
和StaggedGridLayoutManager
。 它具有足够的function和灵活性。
我使用这个lib: https : //github.com/huewu/PinterestLikeAdapterView 。
它工作得很好。 我唯一的问题是, setOnItemClickListener
和setOnItemLongClickListener
是有点bug,所以我直接在侦听器上设置侦听器。
这个库来自Etsy应用程序: https : //github.com/etsy/AndroidStaggeredGrid
- 设备在Eclipse中随机离线(并且多次脱机显示) – 修复?
- intent.setType(type)可能的意图types是什么?
- 如何实现autocompletetextview与列表视图?
- Android:如何使活动返回结果给调用它的活动?
- 在ExecutorService上调用shutdown()的原因
- 如何创build所有移动设备的链接,打开谷歌地图与当前位置开始的路线,命运一个特定的地方?
- 如何以编程方式在相对布局中设置button的layout_align_parent_right属性?
- 当AlertDialog使用视图时,请避免“传递null作为视图根目录”警告
- getWidth()和getHeight()的View返回0