用RecyclerView实现九宫格的布局,除了常规的LinearLayout之外,还有比较常用的GridLayoutManager和StaggeredGridLayoutManager,后两种分别是九宫格布局、瀑布布局。本人这次主要运用用了GridLayoutManager布局,但是在实现的过程中,发现了item的布局无法居中,每次现实完全都会在界面的右边留有一部分空白,查找了很多方法都没能解决问题。
右边的空白大,网上查找各种解决办法,都没能解决。
最后仔细分析自己写的布局,找到了原因:
在我的布局文件下,item的具体父布局设置的是具体的参数,而在GridLayoutManager设置的时候是需要设置每行显示的数目的,而这个设置就规定了每个布局的大小。所以,这两者产生了冲突。
最开始写的是自适应,改成 match_parent,如图:
同时代码中要给RecyclerView设置GridLayoutManager属性,具体如下图:
再次运行就解决问题了,如图:
至此问题就得以解决,Over!