是否有可能创造像Pinterest的使用在Android布局GridView
? 我想用创建图片库GridView
,但我不知道这是否是很好的解决方案。 我不想创建三个LinearLayouts
(我认为这个解决方案不是很好: 在Android的Pinterest的风格的ListView或GridView控件 )
有任何想法吗 ;)?
是否有可能创造像Pinterest的使用在Android布局GridView
? 我想用创建图片库GridView
,但我不知道这是否是很好的解决方案。 我不想创建三个LinearLayouts
(我认为这个解决方案不是很好: 在Android的Pinterest的风格的ListView或GridView控件 )
有任何想法吗 ;)?
创建布局类似如下
<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>
现在添加您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),但最后我有很多的内存消耗(特别是当我不得不重新加载项)的问题。 我看中了它使用两个同步列表视图简单的解决方案。 这样我可以利用内部缓存其中有很大帮助。 要做到这一点,我不得不使用OnTouchListener和OnScrollListener谁同步列表。 下面是一个例子:
https://github.com/vladexologija/PinterestListView
实施Pinterest的状网格视图一些有用的库:
对于2名列表视图同步滚动一个独立的帮手: https://gist.github.com/yanchenko/6179793
对于最近访客到这个问题,我会建议使用RecyclerView
与StaggedGridLayoutManager
。 它有足够多的功能和灵活性等等。
我用这LIB: https://github.com/huewu/PinterestLikeAdapterView 。
它工作得很好。 我唯一的问题是, setOnItemClickListener
和setOnItemLongClickListener
是有点马车,所以我直接设置在听众的convertView。
该库来自于Etsy的应用: https://github.com/etsy/AndroidStaggeredGrid