Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
OpenHarmony
Docs
提交
f34bc0b2
D
Docs
项目概览
OpenHarmony
/
Docs
1 年多 前同步成功
通知
159
Star
292
Fork
28
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
D
Docs
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
提交
Issue看板
未验证
提交
f34bc0b2
编写于
7月 07, 2023
作者:
O
openharmony_ci
提交者:
Gitee
7月 07, 2023
浏览文件
操作
浏览文件
下载
差异文件
!20502 Swiper新增onGestureSwipe、onAnimationStart和onAnimationEnd回调事件描述
Merge pull request !20502 from xuzhidan/swiper_animation
上级
a042b2ff
9e1d3d6a
变更
2
隐藏空白更改
内联
并排
Showing
2 changed file
with
31 addition
and
5 deletion
+31
-5
zh-cn/application-dev/reference/arkui-ts/ts-container-swiper.md
...application-dev/reference/arkui-ts/ts-container-swiper.md
+20
-4
zh-cn/application-dev/reference/arkui-ts/ts-types.md
zh-cn/application-dev/reference/arkui-ts/ts-types.md
+11
-1
未找到文件。
zh-cn/application-dev/reference/arkui-ts/ts-container-swiper.md
浏览文件 @
f34bc0b2
...
...
@@ -58,8 +58,8 @@ Swiper(controller?: SwiperController)
| 名称 | 描述 |
| --------------------------------- | ---------------------------------------- |
| Stretch
<sup>
(deprecated)
</sup>
| Swiper滑动一页的宽度为Swiper组件自身的宽度。
<br>
从API ver
d
ion 10开始不再维护,建议使用STRETCH代替。 |
| AutoLinear
<sup>
(deprecated)
</sup>
| Swiper滑动一页的宽度为子组件宽度中的最大值。
<br>
从API ver
d
ion 10开始不再维护,建议使用AUTO_LINEAR代替。 |
| Stretch
<sup>
(deprecated)
</sup>
| Swiper滑动一页的宽度为Swiper组件自身的宽度。
<br>
从API ver
s
ion 10开始不再维护,建议使用STRETCH代替。 |
| AutoLinear
<sup>
(deprecated)
</sup>
| Swiper滑动一页的宽度为子组件宽度中的最大值。
<br>
从API ver
s
ion 10开始不再维护,建议使用AUTO_LINEAR代替。 |
| STRETCH
<sup>
10+
</sup>
| Swiper滑动一页的宽度为Swiper组件自身的宽度。 |
| AUTO_LINEAR
<sup>
10+
</sup>
| Swiper滑动一页的宽度为视窗内最左侧子组件的宽度。 |
...
...
@@ -148,8 +148,9 @@ finishAnimation(callback?: () => void): void
| 名称 | 功能描述 |
| ---------------------------------------- | ---------------------------------------- |
| onChange(event: (index: number) => void) | 当前显示的子组件索引变化时触发该事件,返回值为当前显示的子组件的索引值。
<br/>
-
index:当前显示元素的索引。
<br/>
**说明:**
<br>
Swiper组件结合LazyForEach使用时,不能在onChange事件里触发子页面UI的刷新。 |
| onAnimationStart
<sup>
9+
</sup>
(event: (index: number) => void) | 切换动画开始时触发该回调。
<br/>
-
index:当前显示元素的索引。
<br/>
**说明:**
<br/>
参数为动画开始前的index值(不是最终结束动画的index值),多列Swiper时,index为最左侧组件的索引。 |
| onAnimationEnd
<sup>
9+
</sup>
(event: (index: number) => void) | 切换动画结束时触发该回调。
<br/>
-
index:当前显示元素的索引。
<br/>
**说明:**
<br/>
当Swiper切换动效结束时触发,包括动画过程中手势中断,通过SwiperController调用finishAnimatio。参数为动画结束后的index值,多列Swiper时,index为最左侧组件的索引。 |
| onAnimationStart
<sup>
9+
</sup>
(event: (index: number, targetIndex
<sup>
10+
</sup>
: number, extraInfo
<sup>
10+
</sup>
:
[
SwiperAnimationEvent
](
ts-types.md#swiperanimationevent
)
) => void) | 切换动画开始时触发该回调。
<br/>
-
index:当前显示元素的索引。
<br/>
-
targetIndex:切换动画目标元素的索引。
<br/>
-
extraInfo:动画相关信息,包括主轴方向上当前显示元素和目标元素相对Swiper起始位置的位移,以及离手速度。
<br/>
**说明:**
<br/>
参数为动画开始前的index值(不是最终结束动画的index值),多列Swiper时,index为最左侧组件的索引。 |
| onAnimationEnd
<sup>
9+
</sup>
(event: (index: number, extraInfo:
[
SwiperAnimationEvent
](
ts-types.md#swiperanimationevent
)
) => void) | 切换动画结束时触发该回调。
<br/>
-
index:当前显示元素的索引。
<br/>
-
extraInfo:动画相关信息,只返回主轴方向上当前显示元素相对于Swiper起始位置的位移。
<br/>
**说明:**
<br/>
当Swiper切换动效结束时触发,包括动画过程中手势中断,通过SwiperController调用finishAnimation。参数为动画结束后的index值,多列Swiper时,index为最左侧组件的索引。 |
| onGestureSwipe
<sup>
10+
</sup>
(event: (index: number, extraInfo:
[
SwiperAnimationEvent
](
ts-types.md#swiperanimationevent
)
) => void) | 在页面跟手滑动过程中,逐帧触发该回调。
<br/>
-
index:当前显示元素的索引。
<br/>
-
extraInfo:动画相关信息,只返回主轴方向上当前显示元素相对于Swiper起始位置的位移。
<br/>
**说明:**
<br/>
多列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
'
)
...
...
zh-cn/application-dev/reference/arkui-ts/ts-types.md
浏览文件 @
f34bc0b2
...
...
@@ -308,4 +308,14 @@
| 类型 | 说明 |
| --------------------- | -------------------------------------- |
| {number}deg | 需要指定以deg像素单位,如'10deg'。 |
\ No newline at end of file
| {number}deg | 需要指定以deg像素单位,如'10deg'。 |
## SwiperAnimationEvent<sup>10+</sup>
Swiper组件动画相关信息集合。
| 名称 | 类型定义 | 描述 |
| ------------- | ---------------------- | ---------------------------------------- |
| currentOffset | number | Swiper当前显示元素在主轴方向上,相对于Swiper起始位置的位移。单位VP,默认值为0.|
| targetOffset | number | Swiper动画目标元素在主轴方向上,相对于Swiper起始位置的位移。单位VP,默认值为0.|
| velocity | number | Swiper离手动画开始时的离手速度。单位VP/S,默认值为0.|
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录