使用单行在Recyclerview中填充图像,并根据内容

时间:2017-02-13 16:09:10

标签: android android-recyclerview

我想实现一些类似于Instagram在那里工作的东西用户页面,底部是一个图像网格,根据内容滚动,因为我一直在阅读有关如何实现这一点的信息,我已经读过了在recyclerview中使用gridview可能很麻烦,所以我的问题是可以使用仅在卡片行上的回收器视图来完成,并根据数据库调用返回的项目数在代码中进行扩展。我已经包含了我所描述的基本图像。或者我是否必须使用网格卡来实现这一点。

如果有帮助的话,我确实有一个位于列表上方的自定义标题,我希望它像Instagram一样滚动。

enter image description here

1 个答案:

答案 0 :(得分:1)

有两种方式:

  1. 使用已实施标头的库。
  2. 我是这个lib https://github.com/eyeem/RecyclerViewTools的开发者。有了这个,使用以下方法很容易实现标题:

    GridLayoutManager glm = 
        new GridLayoutManager(context, spanCount); // make it into a grid
    adapter = new Adapter(); // your adapter that contains the grid items
    WrapAdapter wrapAdapter = new WrapAdapter(adapter); // wrap with the library
    wrapAdapter.addHeader(header) // that's your header view
    gridLayoutManager.setSpanSizeLookup(
       wrapAdapter.createSpanSizeLookup(spanCount)); // this is needed for the header width
    recyclerView.setLayoutManager(glm);
    recyclerView.setAdapter(wrapAdapter);
    
    1. 另外一个是在内部执行库的操作,将GridLayoutManager设置为recyclerview并在其上设置一个自定义SpanSizeLookup,告诉recyclelerview使用第一个项目的完整跨度计数(标题)和其他值的值为1。
    2. 我用Google搜索了15秒,此链接似乎显示了如何以第二种方式执行此操作http://blog.sqisland.com/2014/12/recyclerview-grid-with-header.html(或者您可以检查库的源代码)