RecyclerView的黄金伴侣

    xiaoxiao2026-08-17  9

    记得在15年年初,大部分Android开发者还没开始接触Recyclerview的时候,我尝试着使用了下,当时关于他的资料网上不多,用着真心难受,虽然他很强大,很灵活,可是对于用习惯了Listview的我来说,用着很不习惯。不知道各位开始使用感受如何。

    今天给大家介绍两个开源库,让使用Recyclerview方便到一塌糊涂。

    通用的Adapter适配器(BaseRecyclerViewAdapterHelper):Github地址

    特点: 1. 添加Header和Footer的方法。 2. 添加了Item的点击监听。 3. 添加了上拉加载更多。 4. 兼容实现google的下来刷新。 5. 实现了不同的滑动动画。 6. 更重要的是他是通用万能的Adapter。 7. 等等。。。。请到github看文档。

    RecyclerView的分割线(RecyclerView-FlexibleDivider):Github地址

    特点: 1. 控制方便,例如设置margin,线宽,颜色等等。 2. 效率高,滑动流畅。 3. 线条样式多。

    一、先看“BaseRecyclerViewAdapterHelper”

    以上三张图片来自BaseRecyclerViewAdapterHelper.

    使用代码如下:

    public class QuickAdapter extends BaseQuickAdapter<Status> { public QuickAdapter() { super(R.layout.tweet, DataServer.getSampleData()); } @Override protected void convert(BaseViewHolder helper, Status item) { helper.setText(R.id.tweetName, item.getUserName()) .setText(R.id.tweetText, item.getText()) .setText(R.id.tweetDate, item.getCreatedAt()) .setVisible(R.id.tweetRT, item.isRetweet()) .linkify(R.id.tweetText); Glide.with(mContext).load(item.getUserAvatar()).crossFade().into((ImageView) helper.getView(R.id.iv)); } }

    更多使用请看github的使用文档。我这里不贴了。

    二、再看“RecyclerView-FlexibleDivider”

    以上两张图片来自RecyclerView-FlexibleDivider;

    我项目有个页面发现滑动卡顿,性能很差,最后找到原因是自定义分割线的问题,果断换用该库,解决了卡顿现象。

    贴出部分代码,详情见github文档。

    RecyclerView recyclerView = (RecyclerView) findViewById(R.id.recyclerview); recyclerView.addItemDecoration( new HorizontalDividerItemDecoration.Builder(this) .color(Color.RED) .sizeResId(R.dimen.divider) .marginResId(R.dimen.leftmargin, R.dimen.rightmargin) .build());

    以上代码是贴的,只是让大家有个大概的认识,具体请点开链接,有Demo和文档,方便学习和使用。

    转载请注明原文地址: https://ju.6miu.com/read-1311272.html
    最新回复(0)