HarmonyOS 自定义弹框关闭时的动画显示问题

HarmonyOS 自定义弹框关闭时的动画显示问题。

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

这边提供一个底部向上滑出,关闭滑入底部的自定义弹框demo,可以参考一下:

@CustomDialog  
struct CustomDialogExample {  
  controller: CustomDialogController  
  @State showFlag: Visibility = Visibility.Visible;  
  build() {  
    Column() {  
      Button("关闭弹窗")  
    }  
    .width("100%")  
    .height(400)  
    .backgroundColor(Color.Gray)  
    .onClick(() => {  
      this.cancel();  
    })  
    .visibility(this.showFlag)  
    //核心代码 设置动画事件为200ms ,设置组件转场时插入的起点和删除的终点为屏幕以下100vp  
    .transition(TransitionEffect.OPACITY.animation({ duration: 200 }).combine(TransitionEffect.translate({ y: 100 })))  
  }  
  //在删除的时候需要注意,如果弹窗直接关闭是没有转场效果的,可以先用显隐控制,  
  //设置弹窗为隐藏,此时弹出向下退出的动效生效,再设置延时关闭弹窗。  
  cancel() {  
    this.showFlag = Visibility.Hidden  
    setTimeout(() => {  
      this.controller.close()  
    }, 200)  
  }  
}  
@Entry  
@Component  
struct CustomDialogUser {  
  dialogController: CustomDialogController = new CustomDialogController({  
    builder: CustomDialogExample(),  
    autoCancel: false,  
    customStyle: true  
  })  
  build() {  
    Column() {  
      Button('click me')  
        .onClick(() => {  
          this.dialogController.open()  
        })  
    }  
    .width('100%')  
    .height('100%')  
  }  
}

转场动画:https://developer.huawei.com/consumer/cn/doc/harmonyos-references-V5/ts-transition-animation-component-V5

分享
微博
QQ
微信
回复
2024-10-18 18:21:33
相关问题
HarmonyOS 自定义组件问题
460浏览 • 1回复 待解决
HarmonyOS 自定义不能全屏
17浏览 • 1回复 待解决
自定义状态获取
864浏览 • 1回复 待解决
是否可以自定义权限文字
1687浏览 • 1回复 待解决
如何给自定义加上圆角背景
2058浏览 • 1回复 待解决
HarmonyOS 自定义导致机测不通过
154浏览 • 1回复 待解决
自定义,遮罩背景颜色无法设置
333浏览 • 1回复 待解决
弹窗打开、关闭动画是否支持自定义
2358浏览 • 1回复 待解决
HarmonyOS 自定义Dialog显示问题
422浏览 • 1回复 待解决
自定义弹窗自定义转场动画
1133浏览 • 1回复 待解决
CustomDialog自定义动画
415浏览 • 1回复 待解决
HarmonyOS 自定义键盘输入焦点问题
24浏览 • 1回复 待解决