# 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 #### 效果演示 ![效果演示](./screen_vp.gif "截图") #### 安装教程 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) ```