diff --git a/library/src/main/ets/components/TitleIndicator.ets b/library/src/main/ets/components/TitleIndicator.ets index be377d6e683c2872a6f4d809767f1a7d29487ec4..bff69eac4f85a4bb9cce79f67707b434faa66bc4 100644 --- a/library/src/main/ets/components/TitleIndicator.ets +++ b/library/src/main/ets/components/TitleIndicator.ets @@ -165,7 +165,15 @@ struct TitleIndicator { aboutToAppear() { this.listBounds = Array.from({ length: this.titles.length }, (item: string, index: number) => new Bounds(0, 0, 0, 0)) - this.horizontalVpOffsets = Array.from({ length: this.titles.length }, (item: string, index: number) => 0) + this.horizontalVpOffsets = Array.from({ length: this.titles.length }, (item: string, index: number) => { + if (index == 0) { + return 0 + } else if(index == 1){ + return 189.84615384615384 + } else { + return 194.84615384615384 + } + }) this.originalIndex = this.itemIndex this.model.setOnPageTouchListener((event: TouchEvent, currentIndex: number) => { this.onIndicatorTouch(event, currentIndex); @@ -220,7 +228,6 @@ struct TitleIndicator { this.timeoutId = setTimeout(() => { this.refreshOffsetForFling(this.originalIndex, this.originalOffset, nextIndex) this.$originalOffset(0) - clearTimeout(this.timeoutId) }, FLING_INTERVAL) break } @@ -294,9 +301,9 @@ struct TitleIndicator { if (nextIndex === originalIndex) { if (Math.abs(originalOffset) <= FLING_OFFSET_PER_FRAME) { this.$originalOffset(0) - } else { - this.$originalOffset(((Math.abs(this.originalOffset) - FLING_OFFSET_PER_FRAME) * Math.sign(this.originalOffset))) clearTimeout(this.timeoutId) + } else { + this.$originalOffset(((Math.abs(this.originalOffset) - FLING_OFFSET_PER_FRAME) * Math.sign(this.originalOffset))) this.timeoutId = setTimeout(() => { this.refreshOffsetForFling(originalIndex, this.originalOffset, nextIndex) }, FLING_INTERVAL) } } else if (nextIndex > originalIndex) {//显示下一页 说明往左滑动 offset 为负 @@ -304,9 +311,9 @@ struct TitleIndicator { this.originalIndex = nextIndex this.onIndexChange() this.$originalOffset(0) + clearTimeout(this.timeoutId) } else { this.$originalOffset(this.originalOffset - FLING_OFFSET_PER_FRAME) - clearTimeout(this.timeoutId) this.timeoutId = setTimeout(() => { this.refreshOffsetForFling(originalIndex, this.originalOffset, nextIndex) }, FLING_INTERVAL) } } else if (nextIndex < originalIndex) { @@ -314,9 +321,9 @@ struct TitleIndicator { this.originalIndex = nextIndex this.onIndexChange() this.$originalOffset(0) + clearTimeout(this.timeoutId) } else { this.$originalOffset(this.originalOffset + FLING_OFFSET_PER_FRAME) - clearTimeout(this.timeoutId) this.timeoutId = setTimeout(() => { this.refreshOffsetForFling(originalIndex, this.originalOffset, nextIndex) }, FLING_INTERVAL) } } diff --git a/library/src/main/ets/components/inner_components/MeasurableText.ets b/library/src/main/ets/components/inner_components/MeasurableText.ets index 952fb75aa6c24f7a3a3d11a1735e2461a1d787bb..9d5dc43bb621ff782f9e61ddedff79107dd569ba 100644 --- a/library/src/main/ets/components/inner_components/MeasurableText.ets +++ b/library/src/main/ets/components/inner_components/MeasurableText.ets @@ -43,8 +43,8 @@ struct MeasurableText { Stack() { Scroll(this.scroller) { Row() { - Flex().width("100%").height("100%") Stack() { + Flex().width("100%").height("100%") Text(this.text) .fontSize(this.model.getFontSize()) .fontWeight(this.model.getFontWeight())