diff --git a/zh-cn/application-dev/reference/arkui-ts/ts-container-swiper.md b/zh-cn/application-dev/reference/arkui-ts/ts-container-swiper.md index 972e70ed7c8470a815a89db790b32bab2801a269..40f0ea0967f39be88371500cb3fbaf1e2f0b5598 100644 --- a/zh-cn/application-dev/reference/arkui-ts/ts-container-swiper.md +++ b/zh-cn/application-dev/reference/arkui-ts/ts-container-swiper.md @@ -58,8 +58,8 @@ Swiper(controller?: SwiperController) | 名称 | 描述 | | --------------------------------- | ---------------------------------------- | -| Stretch(deprecated) | Swiper滑动一页的宽度为Swiper组件自身的宽度。
从API verdion 10开始不再维护,建议使用STRETCH代替。 | -| AutoLinear(deprecated) | Swiper滑动一页的宽度为子组件宽度中的最大值。
从API verdion 10开始不再维护,建议使用AUTO_LINEAR代替。 | +| Stretch(deprecated) | Swiper滑动一页的宽度为Swiper组件自身的宽度。
从API version 10开始不再维护,建议使用STRETCH代替。 | +| AutoLinear(deprecated) | Swiper滑动一页的宽度为子组件宽度中的最大值。
从API version 10开始不再维护,建议使用AUTO_LINEAR代替。 | | STRETCH10+ | Swiper滑动一页的宽度为Swiper组件自身的宽度。 | | AUTO_LINEAR10+ | Swiper滑动一页的宽度为视窗内最左侧子组件的宽度。 | @@ -148,8 +148,9 @@ finishAnimation(callback?: () => void): void | 名称 | 功能描述 | | ---------------------------------------- | ---------------------------------------- | | onChange(event: (index: number) => void) | 当前显示的子组件索引变化时触发该事件,返回值为当前显示的子组件的索引值。
- index:当前显示元素的索引。
**说明:**
Swiper组件结合LazyForEach使用时,不能在onChange事件里触发子页面UI的刷新。 | -| onAnimationStart9+(event: (index: number) => void) | 切换动画开始时触发该回调。
- index:当前显示元素的索引。
**说明:**
参数为动画开始前的index值(不是最终结束动画的index值),多列Swiper时,index为最左侧组件的索引。 | -| onAnimationEnd9+(event: (index: number) => void) | 切换动画结束时触发该回调。
- index:当前显示元素的索引。
**说明:**
当Swiper切换动效结束时触发,包括动画过程中手势中断,通过SwiperController调用finishAnimatio。参数为动画结束后的index值,多列Swiper时,index为最左侧组件的索引。 | +| onAnimationStart9+(event: (index: number, targetIndex10+: number, extraInfo10+: [SwiperAnimationEvent](ts-types.md#swiperanimationevent)) => void) | 切换动画开始时触发该回调。
- index:当前显示元素的索引。
- targetIndex:切换动画目标元素的索引。
- extraInfo:动画相关信息,包括主轴方向上当前显示元素和目标元素相对Swiper起始位置的位移,以及离手速度。
**说明:**
参数为动画开始前的index值(不是最终结束动画的index值),多列Swiper时,index为最左侧组件的索引。 | +| onAnimationEnd9+(event: (index: number, extraInfo: [SwiperAnimationEvent](ts-types.md#swiperanimationevent)) => void) | 切换动画结束时触发该回调。
- index:当前显示元素的索引。
- extraInfo:动画相关信息,只返回主轴方向上当前显示元素相对于Swiper起始位置的位移。
**说明:**
当Swiper切换动效结束时触发,包括动画过程中手势中断,通过SwiperController调用finishAnimation。参数为动画结束后的index值,多列Swiper时,index为最左侧组件的索引。 | +| onGestureSwipe10+(event: (index: number, extraInfo: [SwiperAnimationEvent](ts-types.md#swiperanimationevent)) => void) | 在页面跟手滑动过程中,逐帧触发该回调。
- index:当前显示元素的索引。
- extraInfo:动画相关信息,只返回主轴方向上当前显示元素相对于Swiper起始位置的位移。
**说明:**
多列Swiper时,index为最左侧组件的索引。 | ## 示例 @@ -219,6 +220,21 @@ struct SwiperExample { .onChange((index: number) => { console.info(index.toString()) }) + .onGestureSwipe((index: number, extraInfo: SwiperAnimationEvent) => { + console.info("index: " + index) + console.info("current offset: " + extraInfo.currentOffset) + }) + .onAnimationStart((index: number, targetIndex: number, extraInfo: SwiperAnimationEvent) => { + console.info("index: " + index) + console.info("targetIndex: " + targetIndex) + console.info("current offset: " + extraInfo.currentOffset) + console.info("target offset: " + extraInfo.targetOffset) + console.info("velocity: " + extraInfo.velocity) + }) + .onAnimationEnd((index: number, extraInfo: SwiperAnimationEvent) => { + console.info("index: " + index) + console.info("current offset: " + extraInfo.currentOffset) + }) Row({ space: 12 }) { Button('showNext') diff --git a/zh-cn/application-dev/reference/arkui-ts/ts-types.md b/zh-cn/application-dev/reference/arkui-ts/ts-types.md index 54b73973b2ec7009e92771a864eff0638884a7c5..fbaeb23246e5e9f2c7f9c2da9141a1016e595e3d 100644 --- a/zh-cn/application-dev/reference/arkui-ts/ts-types.md +++ b/zh-cn/application-dev/reference/arkui-ts/ts-types.md @@ -308,4 +308,14 @@ | 类型 | 说明 | | --------------------- | -------------------------------------- | -| {number}deg | 需要指定以deg像素单位,如'10deg'。 | \ No newline at end of file +| {number}deg | 需要指定以deg像素单位,如'10deg'。 | + +## SwiperAnimationEvent10+ + +Swiper组件动画相关信息集合。 + +| 名称 | 类型定义 | 描述 | +| ------------- | ---------------------- | ---------------------------------------- | +| currentOffset | number | Swiper当前显示元素在主轴方向上,相对于Swiper起始位置的位移。单位VP,默认值为0.| +| targetOffset | number | Swiper动画目标元素在主轴方向上,相对于Swiper起始位置的位移。单位VP,默认值为0.| +| velocity | number | Swiper离手动画开始时的离手速度。单位VP/S,默认值为0.|