#鸿蒙通关秘籍#如何实现自定义弹窗的动画效果?

HarmonyOS
2024-12-12 13:02:51
浏览
收藏 0
回答 1
待解决
回答 1
按赞同
/
按时间
SaaS古意盎然

自定义弹窗的动画效果可以通过定义openAnimation属性来实现。此属性可以设置动画的持续时间、曲线、延迟等参数。

示例代码:

bash @CustomDialog struct CustomDialogExample { controller?: CustomDialogController

build() { Column() { Text('Whether to change a text?').fontSize(16).margin({ bottom: 10 }) } } }

@Entry @Component struct CustomDialogUser { @State textValue: string = '' @State inputValue: string = 'click me' dialogController: CustomDialogController | null = new CustomDialogController({ builder: CustomDialogExample(), openAnimation: { duration: 1200, curve: Curve.Friction, delay: 500, playMode: PlayMode.Alternate, onFinish: () => { console.info('play end') } }, autoCancel: true, alignment: DialogAlignment.Bottom, offset: { dx: 0, dy: -20 }, gridCount: 4, customStyle: false, backgroundColor: 0xd9ffffff, cornerRadius: 10, })

aboutToDisappear() { this.dialogController = null }

build() { Column() { Button(this.inputValue) .onClick(() => { if (this.dialogController != null) { this.dialogController.open() } }).backgroundColor(0x317aff) }.width('100%').margin({ top: 5 }) } }

以上代码展示了如何控制弹窗动画的发生,包括持续时间、曲线模式等。

分享
微博
QQ
微信
回复
2024-12-12 15:33:04
相关问题
自定义弹窗自定义转场动画
1290浏览 • 1回复 待解决