Android 异构网格视图像 pinterest?[已关闭]

2022-08-31 17:18:54

是否可以使用在Android上创建像布局这样的pinterest?我想使用创建图像库,但我不确定它是否是好的解决方案。我不想创建三个(我认为这个解决方案不好:Pinterest风格的列表视图或Android中的gridviewGridViewGridViewLinearLayouts)

有什么想法;)?

enter image description here


答案 1

我也一直在玩这个(使用LinearLayout),但最后我遇到了很多内存消耗问题(特别是当我不得不重新加载项目时)。我选择了使用两个同步的ListViews的简单解决方案。通过这种方式,我可以利用内部缓存,这很有帮助。为此,我必须使用OnTouchListenerOnScrollListener来同步列表。下面是一个示例:

https://github.com/vladexologija/PinterestListView

enter image description here


答案 2

创建布局,如下所示

<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); 
}

输出:

enter image description here


推荐