(一) 自带刷新的列表-LtRecyclerView v2.x版本(LtAdapter)(基本使用)

(一) 超简单自定义上下刷新布局-LtRecyclerView v2.x版本(基本使用)

(二) LtRecyclerView v2.x (更多实用方法)

(三) LtRecyclerView v2.x (自定义刷新View)

LtRecyclerView2.x版本比1.x版本多了几个好用的功能,很实用
总体功能:

  1. 带有上拉加载和下拉刷新和回调
  2. 设置条目点击事件和条目长按事件
  3. 添加头布局和尾布局
  4. 添加没条目时展示的View(或者添加没条目和有条目时的回调事件)
  5. 添加分割线(也可以用图片)
  6. 自定义上拉加载的View
  7. 自定义下拉刷新的View(包括RecyclerView移动和不移动),而且非常简单
  8. 仅需修改一行代码即可更改所有的刷新View
  9. 可单独使用下拉刷新View

图示:

:

使用:

远程仓库引用:

在根项目的build.gradle文件中加入:


allprojects {
    repositories {
...
        maven { url 'https://jitpack.io' }
    }
}

需要添加的地方加入:

implementation 'com.github.ltttttttttttt:ltviews:3.2.0'//androidx
//下面的是support包中的,已被废弃,全面改用androidx包
implementation 'com.github.ltttttttttttt:ltviews:2.3.9'//android support 以后不再进行更新

正式使用

3.xml布局文件中:

    <com.lt.ltviews.lt_recyclerview.LTRecyclerView
            android:id="@+id/rv"
            android:layout_width="match_parent"
            android:layout_height="match_parent"
            app:dividerHeight="1dp" //设置分割线的高度,默认颜色是#d5d5d5
            app:noItemText="暂无数据" //设置没有数据时展示的文字 />

4.java代码使用示例,只需要set一个适配器和加一个加载的回调即可

rv = (LTRecyclerView) findViewById(R.id.rv);
        //创建一个适配器
        LtAdapter adapter = new LtAdapter() {
            @Override
            public RecyclerView.ViewHolder onLtCreateViewHolder(ViewGroup parent, int viewType) {
                //在这里返回一个ViewHolder,构造里放需要展示的View
                return new RecyclerView.ViewHolder(new TextView(getApplicationContext())) {
                };
            }

            @Override
            public int getLtItemCount() {
                //适配器展示多少条数据
                return 100;
            }

            @Override
            public void onLtBindViewHolder(RecyclerView.ViewHolder holder, int position) {
                //给View设置数据
                ((TextView) holder.itemView).setText("" + position);
            }
        };
        adapter.setOnRvItemClickListener(new OnRvItemClickListener() {
            @Override
            public void onItemClick(View itemView, int position) {
                //条目的点击事件
            }
        });
        rv.setAdapter(adapter)
                .setOnUpAndDownListener(new OnUpAndDownListener() {
                    @Override
                    public void up() {
                        //上拉加载时的回调
                    }

                    @Override
                    public void down() {
                        //下拉刷新时的回调
                    }
                });
        //设置每行有多少个条目,默认是1
        rv.setSpanCount(3);

5.设置刷新状态的方法

        rv.setTopRefresh(false);//设置是否下拉刷新
        rv.setBottomRefresh(false);//设置是否上拉加载
        rv.notifyDataSetChanged();//刷新数据源(更新条目)

6.Kotlin加持适配器(使用Kotlin语言可用),现在已经封装进来,ps:最新版封装的kt适配器文章:超级封装RecyclerView的适配器Adapter 只需二三十行代码_滔lt的博客-CSDN博客

继承BaseLtAdapterOneType或BaseLtAdapterOneType使用

class MAdapter(list: ArrayList<InfoBean>) : BaseLtAdapterOneType<InfoBean>(list, item_layout的id) {
    override fun setData(h:BaseLtViewHolder, b: InfoBean, i: Int) {
        h.tvTitle.text=b.title//直接使用item的view内的id,然后使用bean类的属性赋值,i为position,h为viewholder(为了简单写,所以都用了单个字母的简写)
        //使用该功能需要在对应的model的gradle的android{}中加入下面代码,老版的最大版本为2.7.0(已不再维护老版本,因为性能没有这个高)
        //   androidExtensions {
        //       experimental = true
        //   }
    }
}

甚至可以直接这样快捷使用适配器,这么两行就相当于条目4里java代码里的一堆

rv.adapter = ltAdapterOf(mutableListOf(""), 0) {h, b, i ->  
   
}

混淆

-keep class com.lt.ltviewsx.** { *;}

7.更多api和自定义放在下篇和下下篇文章(点击查看(二)更多实用方法)

该控件已开源,Github地址:GitHub - ltttttttttttt/ltviews: Android custom View, Contain LtRecyclerView...

若有bug可以提出来

转载请带上本文链接,谢谢

对Kotlin或KMP感兴趣的同学可以进Q群 101786950

如果这篇文章对您有帮助的话

可以扫码请我喝瓶饮料或咖啡(如果对什么比较感兴趣可以在备注里写出来)

  • 6
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值