两列ListView包含不同高度的项目

时间:2017-06-19 10:59:53

标签: android listview

我想创建一个包含不同高度的项目的两列l​​istView: image

我在GitHub上尝试了这个custom class并且它很完美,但我有不同的问题,因为这个类很老(上次更新时间:2014年):

  • 使用onClickListener的子项目图像阻止自定义listView的滚动
  • SwipeRefreshLayout总是在向上滚动时出现(我只想在列表顶部时才想要)

[编辑]解决方案:

  

Piyush提议:   StaggeredGridLayoutManager with RecyclerView

2 个答案:

答案 0 :(得分:2)

您可以使用 StaggeredGridLayoutManager

你可以使用StaggeredGridLayoutManager

private StaggeredGridLayoutManager gaggeredGridLayoutManager;
gaggeredGridLayoutManager = new StaggeredGridLayoutManager(2, 1);
recyclerView.setLayoutManager(gaggeredGridLayoutManager);

有关详细信息,请点击此链接StaggeredGridLayoutManager

enter image description here

答案 1 :(得分:0)

为什么不使用ScrollView?因此,您将拥有一个仅包含一个RelativeLayout的父ScrollView。然后,您将在相对的一个中放置两个垂直的LinearLayout,您将在其中放置不同的高度单元格。 伪代码如下:

<ScrollView>
  <RelativeLayout>
       <LinearLayout orientation="vertical">
         //insert you items here via GroupView.addView inside your activity
       </LinearLayout>
       <LinearLayout orientation="vertical">
       </LinearLayout>
  </RelativeLayout>
<ScrollView>