我正在尝试将我的应用从使用GridView移动到使用带有GridLayoutManager的RecyclerView。我是RecylcerViews的新手,但已成功转换我的ListViews,现在正在使用我的GridView。我不确定的一些事情:
我当前的GridView具有一定数量的列,在运行时确定,每个网格列具有相同的硬编码宽度。它可以水平和垂直滚动(我将Gridview包装在HorizontalScrollView中)。所以我基本上需要一个具有设定宽度的列数的视图,而不管屏幕宽度如何。
我一直在找到为GridLayoutManager设置列(span)宽度的方法时遇到问题,所以我假设这不是GridLayoutManager的方法。它几乎听起来像是为了始终适合屏幕上的所有列,而不是让它们从屏幕上溢出?告诉GridLayoutManager我想要的最好方法是什么,例如,每列150个单位(dp或像素)的6列?
对于两个方向的滚动,听起来我可以使用我当前的方法并将我的RecyclerView包装在HorizontalScrollView中,这是正确的吗?
答案 0 :(得分:1)
制作RecyclerView
wrap_content
的宽度并设置所需的跨距数。 (确保RecyclerView
的父母也是wrap_content
。)在RecyclerView
的{{1}}中创建项目视图时,请确保它是您想要的宽度。 onCreateViewHolder()
将增长到视图持有者布局的宽度乘以跨度数。
现在您需要做的就是将所有内容都包装在RecyclerView
。