# EasyRefreshLayout
**Repository Path**: chinasoft5_ohos/EasyRefreshLayout
## Basic Information
- **Project Name**: EasyRefreshLayout
- **Description**: EasyRefreshLayout 是一个列表界面的下拉刷新和上拉加载更多的控件
- **Primary Language**: Java
- **License**: Apache-2.0
- **Default Branch**: master
- **Homepage**: None
- **GVP Project**: No
## Statistics
- **Stars**: 1
- **Forks**: 0
- **Created**: 2021-07-26
- **Last Updated**: 2022-03-14
## Categories & Tags
**Categories**: Uncategorized
**Tags**: None
## README
# EasyRefreshLayout
#### 项目介绍
- 项目名称:EasyRefreshLayout
- 所属系列:openharmony的第三方组件适配移植
- 功能:列表界面的下拉刷新和上拉加载更多
- 项目移植状态:主功能完成
- 调用差异:无
- 开发版本:sdk6,DevEco Studio2.2 Beta1
- 基线版本:Release 1.3.1
#### 效果演示

#### 安装教程
1.在项目根目录下的build.gradle文件中,
```
allprojects {
repositories {
maven {
url 'https://s01.oss.sonatype.org/content/repositories/releases/'
}
}
}
```
2.在entry模块的build.gradle文件中,
```
dependencies {
implementation('com.gitee.chinasoft_ohos:EasyRefreshLayout:1.0.0')
......
}
```
在sdk6,DevEco Studio2.2 Beta1下项目可直接运行
如无法运行,删除项目.gradle,.idea,build,gradle,build.gradle文件,
并依据自己的版本创建新项目,将新项目的对应文件复制到根目录下
#### 使用说明
* 将自定义view添加到XML中,使用方法如下:
```
```
* 设置监听
```
easyRefreshLayout.addEasyEvent(new EasyRefreshLayout.EasyEvent() {
@Override
public void onLoadMore() {
final List list = new ArrayList<>();
for (int i = 0; i < 5; i++) {
list.add("this is new load data >>>>" + new Date().toLocaleString());
}
new EventHandler(EventRunner.getMainEventRunner()).postTask(new Runnable() {
@Override
public void run() {
easyRefreshLayout.closeLoadView();
adapter.getData().addAll(list);
adapter.notifyDataChanged();
listContainer.scrollBy(0, AttrHelper.vp2px(60, getContext()));//偏移一个item高度
}
}, 500);
}
@Override
public void onRefreshing() {
new EventHandler(EventRunner.getMainEventRunner()).postTask(new Runnable() {
@Override
public void run() {
List list = new ArrayList<>();
for (int i = 0; i < 20; i++) {
list.add("this is refresh data >>>" + new Date().toLocaleString());
}
adapter.setNewData(list);
easyRefreshLayout.refreshComplete();
Toast.showToast(getContext(), "refresh success");
}
}, 1000);
}
});
```
* 如果只需要刷新功能
```
easyRefreshLayout.setLoadMoreModel(LoadModel.NONE);
```
* 如果只需要加载功能
```
// 普通加载
easyRefreshLayout.setLoadMoreModel(LoadModel.COMMON_MODEL);
//or
//预加载 advanceCount为剩余数据为advanceCount时触发预加载事件
easyRefreshLayout.setLoadMoreModel(LoadModel.ADVANCE_MODEL,advanceCount);
```
##### 如果需要自定义刷新界面
* 创建界面实现[IRefreshHeader](./library/src/main/java/com/ajguan/library/IRefreshHeader.java)接口
* 设置RefreshHeadView
```
easyRefreshLayout.setRefreshHeadView(customizabaleView);
```
##### 如果需要自定义加载更多界面
* 创建界面实现[ILoadMoreView](./library/src/main/java/com/ajguan/library/ILoadMoreView.java)接口
* 设置LoadMoreView
```
easyRefreshLayout.setLoadMoreView(customizabaleView);
```
#### 测试信息
CodeCheck代码测试无异常
CloudTest代码测试无异常
病毒安全检测通过
当前版本demo功能与原组件基本无差异
#### 版本迭代
- 1.0.0
- 0.0.1-SNAPSHOT
### 版权和许可信息
```
The Apache License (Apache-2.0)
```