📢 重磅福利!参与活动赢好礼,马克杯、鼠标垫、贴纸、8月1日-12月31日等你来!
点击链接: 华为开发者学堂
场景介绍
滑动切换岗位卡片是求职招聘类应用中的典型场景之一,如用户在浏览推荐岗位时, 可滑动查看不同岗位,并选择投递或标记不感兴趣。
本示例基于Stack组件实现岗位卡片的层叠布局,PanGesture实现滑动查看岗位的功能,animateTo实现滑动或删除卡片的动画效果。
实现思路
- 采用Stack布局,为每个岗位卡片设置不同的尺寸、偏移量、透明度和zIndex等参数。
- Stack({ alignContent: Alignment.Start }) {
- ForEach(this.arr, (item: card, index: number) => {
- Column() {
- Image(item.img)
- .objectFit(ImageFit.Contain)
- .width(this.cardWidth * item.size)
- .height(569 * item.size)
- }
- .zIndex(item.zIndex)
- .opacity(item.opacity)
- .offset({
- x: item.offsetX,
- y: item.offsetY
- })
- })
- }
- 滑动岗位或删除岗位时,在animateTo中改变卡片参数实现动画效果。
- handleSlider() {
- animateTo({
- duration: 500,
- curve: Curve.EaseInOut,
- iterations: 1,
- playMode: PlayModeNormal,
- }, () => {
- // Update the parameters of the job card
- })
- }
约束与限制
- 本示例支持API Version 17 Release及以上版本。
- 本示例支持HarmonyOS 5.0.5 Release SDK及以上版本。
- 本示例需要使用DevEco Studio 5.0.5 Release及以上版本进行编译运行。
工程目录
- ├──entry/src/main/ets // 代码区
- │ ├──constants
- │ │ └──StyleConstants.ets // 常量
- │ ├──entryability
- │ │ └──EntryAbility.ets
- │ ├──entrybackupability
- │ │ └──EntryBackupAbility.ets
- │ └──pages
- │ └──PositionSlidingPage.ets // 岗位滑动页
- └──entry/src/main/resources // 应用资源目录

被折叠的 条评论
为什么被折叠?



