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() 
    }) 
  })
  • 1.
  • 2.
  • 3.
  • 4.
  • 5.
  • 6.
  • 7.
  • 8.
  • 9.
  • 10.
  • 11.
  • 12.
  • 13.
  • 14.
  • 15.
  • 16.
  • 17.
  • 18.
  • 19.
  • 20.
  • 21.
  • 22.
  • 23.
  • 24.
HarmonyOS
2024-08-04 14:44:58
浏览
收藏 0
回答 1
回答 1
按赞同
/
按时间
youganlan

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

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

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

分享
微博
QQ
微信
回复
2024-08-05 12:17:08
相关问题
HarmonyOS 模态转场
767浏览 • 1回复 待解决
HarmonyOS bindSheet模态弹窗
1295浏览 • 1回复 待解决
基于bindSheet模态弹窗
1838浏览 • 1回复 待解决
HarmonyOS 关于模态转场的疑问
711浏览 • 1回复 待解决
模态转场如何控制固定高度
2496浏览 • 1回复 待解决
如何固定模态转场的高度
1252浏览 • 1回复 待解决
HarmonyOS 模态转场,如何透传手势?
1067浏览 • 1回复 待解决
模态转场来实现弹框样式的页面
1512浏览 • 1回复 待解决
Tabs 出现/消失转场动画效果
933浏览 • 1回复 待解决