HarmonyOS可以自定义CustomDialog的退出动画吗?

可以自定义CustomDialog的退出动画吗?不需要系统自带那种淡入淡出动画,需要像sheet那样的纵向移动的动画。

HarmonyOS
2024-10-10 11:26:23
浏览
收藏 0
回答 1
待解决
回答 1
按赞同
/
按时间
superinsect

示例如下:

@CustomDialog  
struct Example {  
  controller: CustomDialogController = new CustomDialogController({  
    builder: Example({}),  
    autoCancel: false  
  })  
  @State showFlag: Visibility = Visibility.Visible;  
  @State isAutoCancel: boolean = false;  
  textController: TextAreaController = new TextAreaController()  
  
  build() {  
    Column() {  
      Row() {  
        TextArea({ controller: this.textController })  
          .fontSize(20)  
      }  
      .padding(8)  
      .backgroundColor('#FFFFFF')  
      .height(200)  
      .margin({ bottom: -5 })  
      .width('100%')  
    }  
    .justifyContent(FlexAlign.End)  
    .width('100%')  
    .height("100%")  
    .margin({  
      bottom: -15  
    })  
    .onClick(() => {  
      console.log("dialogClick")  
      if (this.isAutoCancel) {  
        console.log("dialogClick2")  
        this.cancel();  
      }  
    })  
    .visibility(this.showFlag)  
    .transition(TransitionEffect.OPACITY.animation({ duration: 800 })  
      .combine(TransitionEffect.translate({ y: 500 })))  
  }  
  cancel() {  
    this.showFlag = Visibility.Hidden  
    console.log("closeDialog")  
    setTimeout(() => {  
      this.controller.close()  
    }, 800)  
  }  
}  
@Entry  
@Component  
struct CustomDialogUser {  
  @State isAutoCancel: boolean = true;  
  dialogController: CustomDialogController = new CustomDialogController({  
    builder: Example({ isAutoCancel: this.isAutoCancel }),  
    autoCancel: this.isAutoCancel,  
    customStyle: true  
  })  
  build() {  
    Column() {  
      Button('click me')  
        .onClick(() => {  
          this.dialogController.open()  
        })  
    }.width('100%')  
    .height('100%')  
    .onClick(() => {  
    })  
  }  
}
分享
微博
QQ
微信
回复
2024-10-10 18:04:54
相关问题
CustomDialog自定义动画
421浏览 • 1回复 待解决
CustomDialog不支持自定义动画
443浏览 • 2回复 待解决
HarmonyOSCustomDialog自定义Dialog
272浏览 • 1回复 待解决
HarmonyOS 自定义弹窗CustomDialog问题
617浏览 • 1回复 待解决
HarmonyOS 自定义弹窗 (CustomDialog)问题
408浏览 • 1回复 待解决
自定义弹窗自定义转场动画
1157浏览 • 1回复 待解决
智慧推荐可以自定义app
7768浏览 • 1回复 待解决