从GridView移动到GridLayoutManager

时间:2018-06-09 21:46:54

标签: android gridview android-recyclerview gridlayoutmanager

我正在尝试将我的应用从使用GridView移动到使用带有GridLayoutManager的RecyclerView。我是RecylcerViews的新手,但已成功转换我的ListViews,现在正在使用我的GridView。我不确定的一些事情:

我当前的GridView具有一定数量的列,在运行时确定,每个网格列具有相同的硬编码宽度。它可以水平和垂直滚动(我将Gridview包装在Horizo​​ntalScrollView中)。所以我基本上需要一个具有设定宽度的列数的视图,而不管屏幕宽度如何。

我一直在找到为GridLayoutManager设置列(span)宽度的方法时遇到问题,所以我假设这不是GridLayoutManager的方法。它几乎听起来像是为了始终适合屏幕上的所有列,而不是让它们从屏幕上溢出?告诉GridLayoutManager我想要的最好方法是什么,例如,每列150个单位(dp或像素)的6列?

对于两个方向的滚动,听起来我可以使用我当前的方法并将我的RecyclerView包装在Horizo​​ntalScrollView中,这是正确的吗?

1 个答案:

答案 0 :(得分:1)

制作RecyclerView wrap_content的宽度并设置所需的跨距数。 (确保RecyclerView的父母也是wrap_content。)在RecyclerView的{​​{1}}中创建项目视图时,请确保它是您想要的宽度。 onCreateViewHolder()将增长到视图持有者布局的宽度乘以跨度数。

现在您需要做的就是将所有内容都包装在RecyclerView