使用RecyclerView的网格布局,最左和最右间距不能平分的问题解决方式之一

本文介绍了在RecyclerView的网格布局中遇到最左和最右间距无法平分的问题,通过解析问题并提供一种简单的解决方法。首先,通过在BaseActivity中获取手机屏幕宽度,然后在GridRecyclerAdapter中计算单张图片的宽度,根据列数平分剩余屏幕宽度,最终实现图片的等间距展示。
摘要由CSDN通过智能技术生成

问题描述:

网格布局显示的图片如下图效果:

很明显,第一张图片上1,4编号的间距不一致

效果图看起来明显比较和谐~(图中底色只是为了方便观看效果)

             

然后在网上找了一些方法,尝试了几种,最后参考和尝试了请叫我百米冲刺写的方法:

封装了MyDivider,出处:自定义RecyclerView.ItemDecoration,实现Item的等间距分割以及分割线效果

/**
 * Created by SummerMay on 2018/5/11.
 * RecyclerView的分隔线(网格布局)
 */

public class MyDividerItem extends RecyclerView.ItemDecoration {
    private int leftRight;
    private int topBottom;

    public MyDividerItem(int leftRight, int topBottom) {
        this.leftRight = leftRight;
        this.topBottom = topBottom;
    }

    @Override
    public void getItemOffsets(Rect outRect, View view, RecyclerView parent, RecyclerView.State state) {
        GridLayoutManager layoutManager = (GridLayoutManager) parent.getLayoutManager();
        final GridLayoutManager.LayoutParams lp = (GridLayoutManager.LayoutParams) view.getLayoutParams();
        final int childPosition = parent.get
  • 2
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 3
    评论
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值