📑往期推文全新看点(文中附带最新·鸿蒙全栈学习笔记)
✒️ 鸿蒙应用开发与鸿蒙系统开发哪个更有前景?
✒️ 嵌入式开发适不适合做鸿蒙南向开发?看完这篇你就了解了~
✒️ 对于大前端开发来说,转鸿蒙开发究竟是福还是祸?
✒️ 鸿蒙岗位需求突增!移动端、PC端、IoT到底该怎么选?
✒️ 记录一场鸿蒙开发岗位面试经历~
✒️ 持续更新中……
简介
带有添加删除动画效果以及整体动画效果的list组件库
下载安装
ohpm install @ohos/recyclerview-animators
使用说明
- 引入组件库
import { RecyclerView } from "@ohos/recyclerview-animators"
- 在代码中使用
@State controller: RecyclerView.Controller = new RecyclerView.Controller()
private listDatas = ["A","B","C"]
aboutToAppear() {
this.controller.setAdapterAnimation(RecyclerView.AdapterAnimationType.AlphaIn) // 设置列表整体效果类型
this.controller.setFirstOnly(false) // 设置是否在item重复出现时显示动画效果
this.controller.setDuration(500) // 设置动画时长
}
build() {
Column() {
RecyclerView({
array: this.listDatas, // 数据源
controller: this.controller, // 控制器
child: (itemData) => {
this.SpecificChild(itemData) // 子布局
}
})
}
}
@Builder SpecificChild(itemData) {
Column() {
Image($r("app.media.chip"))
.width('100%')
.height(100)
Text(itemData + '')
.fontSize(20)
.textAlign(TextAlign.Center)
.width('100%')
}.margin(10)
}
接口说明
controller: RecyclerView.Controller = new RecyclerView.Controller()
- 设置列表整体效果类型
this.controller.setAdapterAnimation()
- 设置是否在item重复出现时显示动画效果
this.controller.setFirstOnly()
- 设置动画时长
this.controller.setDuration()
约束与限制
在下述版本验证通过:
- DevEco Studio NEXT Developer Beta3: 5.0(5.0.3.530)
- SDK: API12 (5.0.0.35(SP3))
目录结构
|---- recyclerview_animators
| |---- entry # 示例代码文件夹
| |---- library # 库文件夹
| |----src
|----main
|----ets
|----components
|----adapterAnimator #动画效果适配
|----itemAnimator #元素动画效果实现
|----RecyclerView.ets #核心类
| |---- Index.ets # 对外接口
| |---- README.md # 安装使用方法