HarmonyOS 自定义弹窗CustomDialog无法定制closeAnimation,目前默认效果是渐隐,设计要求滑动进入

HarmonyOS 自定义弹窗CustomDialog无法定制closeAnimation,目前默认效果是渐隐,设计要求滑动进入

HarmonyOS
2024-08-29 09:49:05
浏览
收藏 0
回答 1
待解决
回答 1
按赞同
/
按时间
zbw_apple

可参考:

let anmDuration: number = 300; 
@CustomDialog 
struct CustomDialogExample { 
 controller: CustomDialogController = new CustomDialogController({ 
  builder: CustomDialogExample({}), 
  autoCancel: false 
 }) 
 @State showFlag: Visibility = Visibility.Visible; 
 @State isAutoCancel: boolean = false; 
 textController: TextAreaController = new TextAreaController() 
 
 build() { 
  Column() { 
   Row() { 
    Text("自定义动画的弹窗") 
   } 
   .borderRadius(20) 
   .padding(8) 
   .backgroundColor('#ff6288cb') 
   .height(200) 
   .margin({ bottom: -5 }) 
   .width('100%') 
  } 
  .justifyContent(FlexAlign.End) 
  .width('100%') 
  .height("100%") 
  .onClick(() => { 
   console.log("dialogClick") 
   if (this.isAutoCancel) { 
    console.log("dialogClick2") 
    this.cancel(); 
   } 
  }) 
  .visibility(this.showFlag) 
  .transition(TransitionEffect.OPACITY.animation({ duration: anmDuration }).combine(TransitionEffect.translate({ y: 300 }))) 
 } 
 
 cancel() { 
  this.showFlag = Visibility.Hidden 
  console.log("closeDialog") 
  setTimeout(() => { 
   this.controller.close() 
  }, anmDuration) 
 } 
} 
 
@Entry 
@Component 
struct CustomDialogUser { 
 @State isAutoCancel: boolean = true; 
 dialogController: CustomDialogController = new CustomDialogController({ 
  builder: CustomDialogExample({ isAutoCancel: this.isAutoCancel }), 
  autoCancel: this.isAutoCancel, 
  customStyle: true, 
  alignment:DialogAlignment.Bottom 
 }) 
 
 build() { 
  Column() { 
   Button('click me') 
    .onClick(() => { 
     this.dialogController.open() 
    }) 
  }.width('100%') 
  .height('100%') 
 } 
}
分享
微博
QQ
微信
回复
2024-08-29 17:17:09
相关问题
HarmonyOS 自定义弹窗CustomDialog问题
461浏览 • 1回复 待解决
HarmonyOS 自定义弹窗 (CustomDialog)问题
211浏览 • 1回复 待解决
自定义日期滑动选择器弹窗
291浏览 • 1回复 待解决
CustomDialog自定义动画
323浏览 • 1回复 待解决
HarmonyOSCustomDialog自定义Dialog
172浏览 • 1回复 待解决
自定义弹窗自定义转场动画
922浏览 • 1回复 待解决
自定义hvigor任务,定制编译产物
981浏览 • 1回复 待解决
HarmonyOS 自定义弹窗选择
272浏览 • 1回复 待解决
HarmonyOS 全局自定义弹窗demo
220浏览 • 1回复 待解决
HarmonyOS 自定义弹窗的问题
520浏览 • 1回复 待解决