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

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

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

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

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

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

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

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

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

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

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

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

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

Over!



    原文作者:九宫格问题
    原文地址: https://blog.csdn.net/weitao_666/article/details/79401362
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞