RecyclerView使用GridLayoutManager实现九宫格布局 item居中对齐问题

用RecyclerView实现九宫格的布局,除了常规的LinearLayout之外,还有比较常用的GridLayoutManager和StaggeredGridLayoutManager,后两种分别是九宫格布局、瀑布布局。本人这次主要运用用了GridLayoutManager布局,但是在实现的过程中,发现了item的布局无法居中,每次现实完全都会在界面的右边留有一部分空白,查找了很多方法都没能解决问题。

RecyclerView使用GridLayoutManager实现九宫格布局 item居中对齐问题_第1张图片

右边的空白大,网上查找各种解决办法,都没能解决。

最后仔细分析自己写的布局,找到了原因:

在我的布局文件下,item的具体父布局设置的是具体的参数,而在GridLayoutManager设置的时候是需要设置每行显示的数目的,而这个设置就规定了每个布局的大小。所以,这两者产生了冲突。

RecyclerView使用GridLayoutManager实现九宫格布局 item居中对齐问题_第2张图片

最开始写的是自适应,改成 match_parent,如图:

RecyclerView使用GridLayoutManager实现九宫格布局 item居中对齐问题_第3张图片

同时代码中要给RecyclerView设置GridLayoutManager属性,具体如下图:


再次运行就解决问题了,如图:

RecyclerView使用GridLayoutManager实现九宫格布局 item居中对齐问题_第4张图片

Over!

 
   
  
 
  


你可能感兴趣的:(Android)