HarmonyOS bindSheet 系统半模态转场动画关闭视图会出现回弹闪烁

示例代码

VerticalIconText({ 
  iconWidth: 26, 
  iconHeight: 26, 
  iconName: 'listen_play_icon_speed', 
  text: this.speedText, 
  textSize: 11, 
  textColor: Color.White, 
  textAlpha: 0.6 
}).width(50).height(43) 
  .onClick(() => { 
    QMLogger.debug(TAG, 'onClick') 
    this.isShowSpeed = true 
  }) 
  .bindSheet($$this.isShowSpeed, this.SpeedLayout(), { 
    detents: [234, 234], 
    backgroundColor: Color.White, 
    maskColor: $r('app.color.shadow_color'), 
    blurStyle: BlurStyle.Thick, 
    showClose: false, 
    preferType: SheetType.CENTER, 
    shouldDismiss: ((sheetDismiss: SheetDismiss) => { 
      sheetDismiss.dismiss() 
    }) 
  })
HarmonyOS
2024-08-04 14:44:58
浏览
收藏 0
回答 1
待解决
回答 1
按赞同
/
按时间
youganlan

shouldDismiss是用于二次确认是否关闭的回调函数,需要在里面做一些延时操作,在操作没有结束之前,bindsheet不能关闭,有一个回弹动效。

所以只要写了shouldDismiss,就会有一个会谈效果,但如果没做延时操作,直接将shouldDismiss回调来用,就会产生一个先回弹再关闭的现象。

毁掉使用的话,有提供onAppear和onDisappear回调,请根据实际情况进行选择。

分享
微博
QQ
微信
回复
2024-08-05 12:17:08
相关问题
基于bindSheet模态弹窗
780浏览 • 1回复 待解决
模态转场如何控制固定高度
1802浏览 • 1回复 待解决
如何固定模态转场的高度
335浏览 • 1回复 待解决
Tabs 出现/消失转场动画效果
231浏览 • 1回复 待解决
模态转场来实现弹框样式的页面
740浏览 • 1回复 待解决
应用怎么实现模态效果
2136浏览 • 1回复 待解决
如何关闭Swiper组件的回弹效果?
225浏览 • 1回复 待解决
HarmonyOS 页面内的组件转场动画
196浏览 • 1回复 待解决
如何实现动画转场效果
732浏览 • 1回复 待解决