带有wrap_content且没有嵌套滚动的嵌套RecyclerView

时间:2016-04-22 15:31:05

标签: android imageview android-recyclerview android-gridlayout android-glide

是否可以使用具有以下标准的嵌套RecyclerView

  1. 外部RecyclerView以编程方式附加在Activity
  2. 的视图层次结构顶部附近
  3. 外部RecyclerView可滚动
  4. 内部RecyclerView位于自定义视图中,该视图也以编程方式附加
  5. 内部RecyclerView有垂直GridLayout ImageView s
  6. 内部RecyclerView的宽度为match_parent,高度为wrap_content
  7. 内部RecyclerView 不可滚动
  8. 内部RecyclerView可以通过滚动外部RecyclerView
  9. 来显示其所有元素
  10. RecyclerView内的项目可以正确回收
  11. 我正在努力建立这个,但最后两个标准并不满足。如果我有超过30个图像(GridLayout有3个columens,所以我有至少10行),不会显示其他图像。如果我打开HierarchyViewer,我发现RecyclerView包含所有内部ViewHolders,因此即使我向下滚动,也不会回收任何内容。

    此外,我对RecyclerView网格中的图像有疑问。想要动态计算它们的宽度,并使用Glide库加载图像。我向服务器发出请求,该服务器给出了正确宽度的图像,但周围的ImageView a比图像本身小2 dp。我的网格间距为8dp。我用这个公式计算图像的宽度(要求):

    imageWidth = (screenWidth - 2 * horizontalActivityPadding - 2 * spacing) / 3;
    

    这适用于包含3列的GridLayout。但是imageWidth的宽度为90dp,ImageView的宽度为88dp。这是因为我在第3列之后得到了一个间距。但我只计算了两倍的间距,所以我希望只有这个间距

    • 在第1列和第2列之间
    • 以及第2列和第3列之间
    • 但第3列之后

    的原因可能是什么
    1. 我的RecyclerView问题?
    2. 我的图像间距问题?

0 个答案:

没有答案