diff --git a/PullToRefresh/oh-package.json5 b/PullToRefresh/oh-package.json5 index 43d9baa95e322898995ef13c32242a9c2b585173..e5029a439c5352f8a21cf78cc8cf5c9af625b64d 100644 --- a/PullToRefresh/oh-package.json5 +++ b/PullToRefresh/oh-package.json5 @@ -14,7 +14,7 @@ "main": "index.ets", "repository": "https://gitee.com/openharmony-sig/PullToRefresh", "type": "module", - "version": "2.0.2", + "version": "2.0.3", "dependencies": {}, "tags": [ "UI" diff --git a/PullToRefresh/src/main/ets/components/PullToRefresh/PullToRefresh.ets b/PullToRefresh/src/main/ets/components/PullToRefresh/PullToRefresh.ets index 055567cc38741c9a6a3f2eb0454f79619c78c1ee..5654dd96606f8fc7bbfae2857d513138dca664f5 100644 --- a/PullToRefresh/src/main/ets/components/PullToRefresh/PullToRefresh.ets +++ b/PullToRefresh/src/main/ets/components/PullToRefresh/PullToRefresh.ets @@ -263,24 +263,47 @@ export struct PullToRefresh { this.listOffsetNew = this.scroller.currentOffset().yOffset; // 列表处于底部位置且上滑时,2.已上滑时 // @ts-ignore - if ((this.state == IS_FREE && this.listOffsetOld == this.listOffsetNew && this.listOffsetOld != 0 && this.touchYNew < this.touchYOld && this.scroller.isAtEnd()) || - this.state == IS_PULL_UP_1 || this.state == IS_PULL_UP_2) { - // 获取最新的位移距离 - var trY = this.touchYNew - this.touchYOld; - // 计算当前需要位移的总距离 - this.trYBottom = this.getTranslateYOfLoadMore(trY); - if (this.trYBottom > -this.refreshConfigurator.getLoadImgHeight()) { - this.state = IS_PULL_UP_1; - } else { - this.state = IS_PULL_UP_2; - } - // 如果没有自定义加载更多动画,就执行内置动画上拉时的逻辑 - if (!this.customLoad) { - this.drawLoadView(true, -this.trYBottom / this.refreshConfigurator.getMaxTranslate()); + try { + if ((this.state == IS_FREE && this.listOffsetOld == this.listOffsetNew && this.listOffsetOld != 0 && this.touchYNew < this.touchYOld && this.scroller.isAtEnd()) || + this.state == IS_PULL_UP_1 || this.state == IS_PULL_UP_2) { + // 获取最新的位移距离 + var trY = this.touchYNew - this.touchYOld; + // 计算当前需要位移的总距离 + this.trYBottom = this.getTranslateYOfLoadMore(trY); + if (this.trYBottom > -this.refreshConfigurator.getLoadImgHeight()) { + this.state = IS_PULL_UP_1; + } else { + this.state = IS_PULL_UP_2; + } + // 如果没有自定义加载更多动画,就执行内置动画上拉时的逻辑 + if (!this.customLoad) { + this.drawLoadView(true, -this.trYBottom / this.refreshConfigurator.getMaxTranslate()); + } + // 如果有上拉中动画回调,就执行上拉中动画回调 + if (this.onAnimPullUp) { + this.onAnimPullUp(-this.trYBottom / this.refreshConfigurator.getMaxTranslate(), this.mWidthNumber, -this.trYBottom); + } } - // 如果有上拉中动画回调,就执行上拉中动画回调 - if (this.onAnimPullUp) { - this.onAnimPullUp(-this.trYBottom / this.refreshConfigurator.getMaxTranslate(), this.mWidthNumber, -this.trYBottom); + }catch (error){ + if ((this.state == IS_FREE && this.listOffsetOld == this.listOffsetNew && this.listOffsetOld != 0 && this.touchYNew < this.touchYOld) || + this.state == IS_PULL_UP_1 || this.state == IS_PULL_UP_2) { + // 获取最新的位移距离 + var trY = this.touchYNew - this.touchYOld; + // 计算当前需要位移的总距离 + this.trYBottom = this.getTranslateYOfLoadMore(trY); + if (this.trYBottom > -this.refreshConfigurator.getLoadImgHeight()) { + this.state = IS_PULL_UP_1; + } else { + this.state = IS_PULL_UP_2; + } + // 如果没有自定义加载更多动画,就执行内置动画上拉时的逻辑 + if (!this.customLoad) { + this.drawLoadView(true, -this.trYBottom / this.refreshConfigurator.getMaxTranslate()); + } + // 如果有上拉中动画回调,就执行上拉中动画回调 + if (this.onAnimPullUp) { + this.onAnimPullUp(-this.trYBottom / this.refreshConfigurator.getMaxTranslate(), this.mWidthNumber, -this.trYBottom); + } } } this.listOffsetOld = this.listOffsetNew; diff --git a/README.md b/README.md index 974ad27015b8c1cb8de9aae2d9854a465a7fd4a8..96c6850a5a80fb5c193f47d924a4d134880dad9f 100644 --- a/README.md +++ b/README.md @@ -113,7 +113,7 @@ customRefresh: null, 在下述版本验证通过: -DevEco Studio: 3.1Beta2(3.1.0.400), SDK: API9 Release(3.2.11.9) +DevEco Studio: 4.0 Canary2(4.0.0.212), SDK: API10 (4.0.8.2) ## 贡献代码 diff --git a/build-profile.json5 b/build-profile.json5 index 5f240c90d49f30e2e47c38c071344958c605d6bb..db9704c780b1246199adb9b51b6835d242fc98b4 100644 --- a/build-profile.json5 +++ b/build-profile.json5 @@ -1,12 +1,20 @@ { "app": { - "signingConfigs": [], - "compileSdkVersion": 9, - "compatibleSdkVersion": 9, "products": [ { "name": "default", "signingConfig": "default", + "compileSdkVersion": "4.0.0(10)", + "compatibleSdkVersion": "4.0.0(10)", + "runtimeOS": "HarmonyOS" + } + ], + "buildModeSet": [ + { + "name": "debug" + }, + { + "name": "release" } ] }, diff --git a/changelog.md b/changelog.md index 5f2cd1f9cc7109db5b7426c226e4582df91981a7..3cf277c21379dbbd38ac95b6c08ed24ad6745dc9 100644 --- a/changelog.md +++ b/changelog.md @@ -1,3 +1,9 @@ +## 2.0.3 + +1.修复组件在低版本镜像出现下拉刷新闪退问题。 +2.适配DevEco Studio: 4.0 Canary2(4.0.0.212) + 适配SDK: API10 (4.0.8.2) + ## 2.0.2 1.修复在轻微上拉的过程中,可能会出现直接滑动到底部的问题。 diff --git a/entry/oh-package.json5 b/entry/oh-package.json5 index 64f8cb99be9a0e310c6bdec2df1769dd5dde2a8a..dd4ab4e3ac7e16c6ae03064a264c512df5479fbe 100644 --- a/entry/oh-package.json5 +++ b/entry/oh-package.json5 @@ -4,7 +4,7 @@ "name": "entry", "description": "example description", "repository": {}, - "version": "1.0.0", + "version": "2.0.3", "dependencies": { "@ohos/pulltorefresh": "file:../PullToRefresh" } diff --git a/hvigor/hvigor-config.json5 b/hvigor/hvigor-config.json5 index 5d9bed6108611f15d956e823594d7824ce7cfd74..c1f4e840f81ee4b2e4aa086aa1692992986f8734 100644 --- a/hvigor/hvigor-config.json5 +++ b/hvigor/hvigor-config.json5 @@ -1,6 +1,6 @@ { - "hvigorVersion": "2.0.0", + "hvigorVersion": "2.2.0-rc.17.s", "dependencies": { - "@ohos/hvigor-ohos-plugin": "2.0.0" + "@ohos/hvigor-ohos-plugin": "2.2.0-rc.17.s" } } \ No newline at end of file diff --git a/oh-package.json5 b/oh-package.json5 index d7993a3a4b845c99ed349e2342cc16aa919b1601..c2a99968cf874d2517c609e7e709471c863e5cbb 100644 --- a/oh-package.json5 +++ b/oh-package.json5 @@ -6,6 +6,6 @@ "name": "pulltorefresh", "description": "example description", "repository": {}, - "version": "1.0.0", + "version": "2.0.3", "dependencies": {} }