HarmonyOS 自定义弹窗 (CustomDialog) 和软键盘间距16vp能否为0

应用场景为点击底部评论条,底部弹出输入框,用自定义弹窗 (CustomDialog) 做的输入框弹窗,设置自定义弹窗的alignment为Bottom底部对齐,API文档有说明“弹窗避让软键盘时,与软键盘之间存在16vp的安全间距”,但业务场景中,这块需要和底部软键盘之间没有间距。安全距离需要为0。这个是否可以设置。还是说这种场景,用半模态转场来实现更合适。半模态转场 是否需要考虑软键盘区域的高度,手动设置抬高弹窗不被软键盘遮挡?

HarmonyOS
2024-10-18 10:55:46
2530浏览
收藏 0
回答 1
回答 1
按赞同
/
按时间
superinsect

规格上就是所有的弹窗都会规避软键盘(除了半模态),规格如此,是不能够修改的,使用半模态转场来实现更合适。可以参考如下代码:

@Entry  
@Component  
struct Main4 {  
  @State isShow: boolean = false  
  @Builder  
  myBuilder() {  
    Column() {  
      Button("关闭半模态").onClick(()=>{  
        this.isShow = false  
      })  
      TextInput()  
    }  
  
    .expandSafeArea([SafeAreaType.SYSTEM,SafeAreaType.KEYBOARD], [SafeAreaEdge.TOP, SafeAreaEdge.BOTTOM])  
    .borderRadius(10)  
    .width("100%")  
  }  
  build() {  
    Column() {  
      Button('click me 打开半模态')  
        .onClick(() => {  
          this.isShow = !this.isShow  
        })  
    }  
    .expandSafeArea([SafeAreaType.SYSTEM,SafeAreaType.KEYBOARD], [SafeAreaEdge.TOP, SafeAreaEdge.BOTTOM])  
    .bindSheet($$this.isShow, this.myBuilder(), { height: 400})  
    .justifyContent(FlexAlign.End)  
    .width('100%')  
    .height('100%')  
  }  
}
  • 1.
  • 2.
  • 3.
  • 4.
  • 5.
  • 6.
  • 7.
  • 8.
  • 9.
  • 10.
  • 11.
  • 12.
  • 13.
  • 14.
  • 15.
  • 16.
  • 17.
  • 18.
  • 19.
  • 20.
  • 21.
  • 22.
  • 23.
  • 24.
  • 25.
  • 26.
  • 27.
  • 28.
  • 29.
  • 30.
  • 31.

参考链接:https://developer.huawei.com/consumer/cn/doc/harmonyos-references-V5/ts-universal-attributes-sheet-transition-V5#示例1

分享
微博
QQ
微信
回复
2024-10-18 18:17:36
相关问题
HarmonyOS 弹窗不避让软键盘
1341浏览 • 1回复 待解决
CustomDialog软键盘的问题
1144浏览 • 1回复 待解决
如何实现弹窗软键盘的避让
2308浏览 • 1回复 待解决
HarmonyOS 自定义弹窗CustomDialog
762浏览 • 1回复 待解决
HarmonyOS 自定义弹窗CustomDialog 问题
793浏览 • 1回复 待解决
HarmonyOS 自定义弹窗CustomDialog问题
1360浏览 • 1回复 待解决
HarmonyOS 弹窗布局被软键盘压缩
569浏览 • 1回复 待解决
HarmonyOS 自定义弹窗 (CustomDialog)问题
1294浏览 • 1回复 待解决
HarmonyOS dialog软键盘
688浏览 • 1回复 待解决
HarmonyOS 如何实现弹窗不规避软键盘
992浏览 • 1回复 待解决
HarmonyOS 自定义弹窗CustomDialog调用问题
1122浏览 • 1回复 待解决
HarmonyOS 表情面板软键盘
744浏览 • 1回复 待解决