HarmonyOS 自定义控件的aboutToAppear生命周期里执行animateTo动画没有效果
大致的原因推测可能是因为aboutToAppear在build之前,目前在aboutToAppear中加setTimeout可以解决该问题,setTimeout感觉无法完全保证将动画执行放到build后,想咨询下有没有更优的解决方案。
@Component
export struct Block {
@Prop blockWidth: Length = 40
@Prop blockHeight: Length = 40
@Prop needDynamics: boolean = true
@Prop blockRadius: Resource | number = $r('app.float.radiusS')
@State opacityValue: number = this.needDynamics ? 0.4: 1
startAnimation () {
if (!this.needDynamics) return
animateTo({
playMode: PlayMode.Alternate,
iterations: -1,
duration: 1000,
}, () => {
this.opacityValue = 1
})
}
aboutToAppear(): void {
// 不加setTimeout动画无效,setTimeout感觉无法完全保证将动画执行放到build后
setTimeout(() => {
this.startAnimation()
}, 0)
}
build() {
Column()
.width(this.blockWidth)
.height(this.blockHeight)
.borderRadius(this.blockRadius)
.backgroundColor($r('app.color.fill2'))
.opacity(this.opacityValue)
}
}
HarmonyOS
赞
收藏 0
回答 1
待解决
相关问题
HarmonyOS 有没有比aboutToAppear还要早的生命周期
315浏览 • 1回复 待解决
HarmonyOS 自定义组件生命周期回调有没有build执行后的回调
222浏览 • 1回复 待解决
HarmonyOS 有没有比aboutToAppear还要早的生命周期啊?
213浏览 • 1回复 待解决
自定义组件能否获取page的生命周期呢?
139浏览 • 1回复 待解决
自定义组件是否有生命周期可见不可见?
1944浏览 • 1回复 待解决
自定义组件没有attach到视图树以及从视图树detach的生命周期
684浏览 • 1回复 待解决
#鸿蒙学习大百科#自定义组件的生命周期都有哪些?
254浏览 • 1回复 待解决
页面与自定义组件之间的生命周期有什么区别?
378浏览 • 1回复 待解决
如何在page中获取UIAbility生命周期做自定义逻辑
1773浏览 • 1回复 待解决
HarmonyOS 是否有支持应用生命周期、页面生命周期、组件生命周期Hook的API?
245浏览 • 0回复 待解决
HarmonyOS 模块生命周期管理
133浏览 • 1回复 待解决
HarmonyOS SideBarContainer通过showSideBar来自定义控制展开收起,没有动画效果?
185浏览 • 1回复 待解决
HarmonyOS 有没有全局方法可以监听Component生命周期?
228浏览 • 1回复 待解决
监听Ability生命周期
1037浏览 • 1回复 待解决
HarmonyOS App的生命周期是什么?
282浏览 • 2回复 待解决
TabContent 内容的生命周期
254浏览 • 1回复 待解决
如何监听AbilitySlice的生命周期
5040浏览 • 1回复 待解决
应用内的生命周期流转
491浏览 • 1回复 待解决
Dialog组件生命周期问题
232浏览 • 1回复 待解决
HarmonyOS 控件的属性动画可以自定义么?可以支持取消么?
176浏览 • 1回复 待解决
自定义弹窗自定义转场动画
922浏览 • 1回复 待解决
HarmonyOS 监听所有page的生命周期
267浏览 • 1回复 待解决
HarmonyOS Navigation跳转的组件生命周期
423浏览 • 2回复 待解决
HarmonyOS navigation主页面生命周期
286浏览 • 1回复 待解决
可以使用onAppear方法放在组件上,组件完成显示的时候会调用。参考:
https://developer.huawei.com/consumer/cn/doc/harmonyos-references-V5/ts-universal-events-show-hide-V5#示例