Project Name | Stars | Downloads | Repos Using This | Packages Using This | Most Recent Commit | Total Releases | Latest Release | Open Issues | License | Language |
---|---|---|---|---|---|---|---|---|---|---|
Rendererrecyclerviewadapter | 1,153 | 8 | a year ago | 24 | April 17, 2021 | 1 | apache-2.0 | Java | ||
A single adapter with multiple view types for the whole project | ||||||||||
Mapme | 845 | a year ago | 2 | March 30, 2022 | 13 | mit | Kotlin | |||
The Android maps adapter | ||||||||||
Multiviewadapter | 791 | 2 years ago | 30 | apache-2.0 | Java | |||||
Easily create complex recyclerview adapters in android | ||||||||||
Multityperecyclerviewadapter | 768 | 2 years ago | 1 | July 11, 2021 | 1 | apache-2.0 | Java | |||
一个专注于RecyclerView优雅刷新(接管资源和数据源)、高灵活、低耦合、健壮性以及高效性的MVP模式库,支持大多数Adapter | ||||||||||
Oneadapter | 444 | 16 days ago | 3 | mit | Kotlin | |||||
A Viewholderless Adapter for RecyclerView, who supports builtin diffing, states (paging, empty...), events (clicking, swiping...), and more. | ||||||||||
Kiel | 310 | 2 years ago | 1 | April 27, 2021 | 12 | apache-2.0 | Kotlin | |||
(Published to MavenCentral) Kotlin way of building RecyclerView Adapter 🧩. You do not have to write RecyclerView Adapters again and again and suffer from handling of different view types. Kiel will help you. | ||||||||||
Mjolnirrecyclerview | 235 | 3 years ago | 1 | February 11, 2021 | 3 | apache-2.0 | Java | |||
[DEPRECATED] This library is no longer maintained and it will not receive any more updates. | ||||||||||
Sherlockadapter | 185 | 3 years ago | Java | |||||||
一个万能的封装了RecyclerView.Adapter的功能库。 | ||||||||||
Diffadapter | 176 | 3 years ago | 1 | Java | ||||||
A high-performance , easy-to-use Adapter for RecyclerView ,using diffutil | ||||||||||
Smart Recycler Adapter | 135 | 2 years ago | 1 | apache-2.0 | Kotlin | |||||
Small, smart and generic adapter for recycler view with easy and advanced data to ViewHolder binding. |
UIKit主要提供了一些自定义组件辅助类和通用组件。
如果你需要制作转场动画,可以使用TransitionController负责动画数值计算。
如果你需要识别翻页手势,可以使用TouchController负责触控采集。
如果你需要实现滚动效果,ViewGroupMonitor可以实时提供控件位置信息。
这里提供了下拉刷新组件,基于嵌套滑动实现,列表容器可更替。
这里提供了图片查看器组件,高仿iOS相册浏览效果。
简介:获取控件位置
接入:调用静态方法
RectUtil.measure(view, rect, traverse);
简介:控件位置变化监听
接入:静态方法注册,接口实现监听
ViewMonitor.globalMonitor(view, listener);
ViewMonitor.localMonitor(view, listener);
ViewGroupMonitor.globalMonitor(parent, listener);
ViewGroupMonitor.localMonitor(parent, listener);
简介:简易防突变动画
接入:提供View对象控制动画
manager.getValue(view);
manager.setValue(view, value);
manager.getTarget(view);
manager.setTarget(view, target);
简介:防突变动画
接入:重载computeScroll方法
controller.getValue();
controller.setValue(value);
controller.getTarget();
controller.setTarget(target);
简介:多指触控采集
接入:重载dispatchTouchEvent、onTouchEvent等方法
public interface TouchListener {
boolean down(float downX, float downY);
boolean move(float moveX, float moveY);
void up(float velocityX, float velocityY);
void cancel();
}
view.permit(top, bottom);
设置边缘越界滚动许可,不影响刷新逻辑,但关闭后用户无法通过手势触发刷新。默认头部底部均为开启状态。
view.auto(advance);
设置加载更多模式,当advance>=0时为自动加载模式,代表倒数第几项出现在页面内时触发加载。默认advance=-1由手势触发加载更多。
public interface RefreshTopListener {
void topRefresh();
}
public interface RefreshBottomListener {
void bottomRefresh();
}
控件提供下拉刷新及加载更多功能,接入方自主选择下拉刷新或下拉刷新+加载更多解决方案(或不设置仅为实现边缘效果)。接入加载更多可集成RefreshManager负责处理分页列表缓存逻辑,请注意接入加载更多时需保证列表数据请求全部由接口发起。
view.refresh(isTop);
触发下拉刷新或加载更多,带有防不必要机制,返回值表示是否刷新成功。一般用于页面首次获取数据。
view.callback(isTop, status);
通知下拉刷新或加载更多回调,请注意会话管理防止脏回调。回调类型有NORMAL、END、ERROR,仅接入下拉刷新的场合任选其一即可。
view.violate(anim);
强制触发下拉刷新,可选触发加载动画。用于代替refresh方法解决手势以外的刷新需求,例如按钮点击刷新等。
提供RefreshHintView用于自定义加载效果,控件高度影响手势刷新的触发范围。
protected abstract int type(); //控件类型
protected abstract long stay(); //暂留时长
protected abstract View build(); //初始化控件
protected abstract void status(int from, int to); //状态变化
protected abstract void layout(int height); //布局变化
protected abstract void scroll(float offset); //越界滚动
控件类型分为TOP、BOTTOM、AUTO,类型会影响status方法的触发。
暂留时长影响组件刷新后的悬停时间,设为负数可关闭悬停。
借助status、layout、scroll方法实现加载效果,其中layout方法入参为列表内容可见高度,scroll方法入参为越界滚动偏移量。
组件借助RefreshCompat类与子容器通讯,该类已内部兼容了RecyclerView及AdapterView,其余容器需自行实现各接口。仅需下拉刷新时一般实现ViewEdge.Event接口即可。
组件基于嵌套滑动实现,对嵌套滑动支持性不好的容器,可使用NestedChildController来模拟嵌套滑动。
继承SalonMaster实现抽象方法。
protected abstract View onCreateImage(Context context);
protected abstract float getRatio(String url);
onCreateImage返回图片控件,需实现SalonImage接口,设计目的为兼容不同的图片库。
getRatio根据链接获取图片宽高比,用于计算共享动画。
view.display(index, urls);
view.display(index, urls, views);
调用display方法展开组件,传入views会播放共享动画。
简介:RecyclerView.Adapter包装库
接入:插入RecyclerView、Adapter之间,解耦实现首尾项、左滑删除等功能
简介:DiffUtil更新效果兼容库
接入:使用库方法代替Adapter的更新方法,适配滚动位置等问题