HarmonyOS customDialog有方案修改消失的动画效果吗?比如去掉消失时的缩放效果,改成向下平移效果

HarmonyOS
1天前
浏览
收藏 0
回答 1
待解决
回答 1
按赞同
/
按时间
Heiang

参考示例如下:

@CustomDialog
struct CustomDialogExample01 {
  controller: CustomDialogController
  @State showFlag: Visibility = Visibility.Visible;

  build() {
    Column() {
      Row() {
        Image($r('app.media.huawei'))
          .height(60)
          .width(60)
          .margin(20)
          .borderRadius(10)
        Text('欢迎共筑HarmonyOS生态')
        Button('进入')
          .onClick(() => {
            this.cancel();
          })
          .margin(20)
      }
      .width('100%')
      .backgroundColor(Color.Grey)
    }
    .width("100%")
    .height(100)
    .backgroundColor(Color.Pink)
    .visibility(this.showFlag)
    //核心代码 设置动画事件为500ms ,设置组件转场时插入的起点和删除的终点为屏幕以下300vp
    //弹窗显示和消失配置为相同的过渡效果(出现和消失互为逆过程)
    //出现时从指定的透明度为0、沿y轴平移300vp,变为默认的透明度为1,透明度与旋转动画时长都为500ms
    //消失时从默认的透明度为1、沿y轴平移300vp,变为指定的透明度为0,透明度与旋转动画时长都为500ms
    .transition(TransitionEffect.OPACITY.animation({ duration: 500 })
      .combine(TransitionEffect.translate({ y: 300 })))
  }

  //在删除的时候需要注意,如果弹窗直接关闭是没有转场效果的,可以先用显隐控制,
  //设置弹窗为隐藏,此时弹出向下退出的动效生效,再设置延时关闭弹窗。
  cancel() {
    this.showFlag = Visibility.Hidden
    setTimeout(() => {
      this.controller.close()
    }, 500)
  }
}
分享
微博
QQ
微信
回复
1天前
相关问题
Tabs 出现/消失转场动画效果
539浏览 • 1回复 待解决
如何去掉div长按灰色效果
2603浏览 • 1回复 待解决
求助动画效果问题有懂
4274浏览 • 1回复 待解决
如何去掉Scroll回弹效果
973浏览 • 1回复 待解决
HarmonyOS 列表动画效果
152浏览 • 1回复 待解决
HarmonyOS 动画效果+手势
151浏览 • 1回复 待解决
HarmonyOS List动画效果
141浏览 • 1回复 待解决
HarmonyOS 效果实现方案
580浏览 • 1回复 待解决
HarmonyOS 拍摄录制动画效果
110浏览 • 1回复 待解决
HarmonyOS .scale没有动画效果
156浏览 • 1回复 待解决
HarmonyOS 动画效果实现
226浏览 • 1回复 待解决
HarmonyOS 旋转动画效果
124浏览 • 1回复 待解决
如何去掉Toggle一类控件点击效果
552浏览 • 1回复 待解决
如何实现list折叠动画效果
625浏览 • 1回复 待解决