热点新闻
Android-分享一个对RecyclerView二次封装的库(EasyRecyclerView)
2023-07-28 04:11  浏览:399  搜索引擎搜索“手机财发网”
温馨提示:信息一旦丢失不一定找得到,请务必收藏信息以备急用!本站所有信息均是注册会员发布如遇到侵权请联系文章中的联系方式或客服删除!
联系我时,请说明是在手机财发网看到的信息,谢谢。
展会发布 展会网站大全 报名观展合作 软文发布



图片来源网络,入侵必删

在日常的Android开发当中,我们肯定会有使用到RecyclerView的需求,这里分享一个对RecyclerView二次封装的开源库——EasyRecyclerView。它基本上满足基本的开发需求,希望能帮看文章的小伙伴提高开发效率。

引入项目

implementation 'com.jude:easyrecyclerview:4.4.2'

截止我发布博客,开源库版本为4.4.2。想要查看最新版本请看开源库的wiki

使用示例

XML中创建:

<com.jude.easyrecyclerview.EasyRecyclerView android:id="@+id/recyclerView" android:layout_width="match_parent" android:layout_height="match_parent" app:layout_empty="@layout/view_empty" app:layout_progress="@layout/view_progress" app:layout_error="@layout/view_error" app:recyclerClipToPadding="true" app:recyclerPadding="8dp" app:recyclerPaddingTop="8dp" app:recyclerPaddingBottom="8dp" app:recyclerPaddingLeft="8dp" app:recyclerPaddingRight="8dp" app:scrollbarStyle="insideOverlay"//insideOverlay or insideInset or outsideOverlay or outsideInset app:scrollbars="none"//none or vertical or horizontal />

开源库的作者提到,EasyRecyclerView本质上不是RecyclerView,上面所有属性不是必须的,可以选择性使用。

设置空白的View

app:layout_empty="@layout/view_empty"

代码中设置:

void setEmptyView(View emptyView)

设置错误的View

app:layout_error="@layout/view_error"

代码中设置:

void setErrorView(View errorView)

设置加载的View

app:layout_progress="@layout/view_progress"

代码中设置:

void setProgressView(View progressView)

跳到固定位置

void scrollToPosition(int position);

刷新控制

void setRefreshing(boolean isRefreshing); void setRefreshing(final boolean isRefreshing, final boolean isCallback); //第二个参数控制是否回调更新数据方法

整合了数据增删的功能

void add(T object); void addAll(Collection<? extends T> collection); void addAll(T ... items); void insert(T object, int index); void update(T object, int index); void remove(T object); void clear(); void sort(Comparator<? super T> comparator);

整合的Header与Footer的实现

void addHeader(ItemView view) void addFooter(ItemView view)

整合OnItemClickListener与OnItemLongClickListener

adapter.setonItemClickListener(new RecyclerArrayAdapter.onItemClickListener() { @Override public void onItemClick(int position) { //position不包含Header } }); adapter.setonItemLongClickListener(new RecyclerArrayAdapter.onItemLongClickListener() { @Override public boolean onItemLongClick(int position) { return true; } });

以上功能是我之前项目开发中使用到的,更多详细的用法可以查看开源库文档。

发布人:c958****    IP:117.173.23.***     举报/删稿
展会推荐
让朕来说2句
评论
收藏
点赞
转发