HarmonyOS 如何去除如图中的间隙

如何去除虚拟键盘与自定义输入框dialog 之间的间隙

HarmonyOS
2024-12-20 16:06:45
浏览
收藏 0
回答 1
回答 1
按赞同
/
按时间
fox280

之所以设置安全距离,是因为自定义弹窗仅适用于简单提示场景,不能替代页面使用。由于弹窗存在完全避让输入法行为,即在软键盘弹出时,会自动向上抬起软键盘高度,因此如果弹窗高度过大时,可能会导致部分区域不可见。弹窗避让软键盘时,与软键盘之间存在16vp的安全间距。 结合文档说法,可以手动在软键盘弹起时设置offset:{y:16}来抵消安全距离。

参考demo:

//CustomDialog.ets
build{
  Column(){
    TextArea({
      text: "",
      placeholder: 'The text area can hold an unlimited amount of text. input your word...',
      controller: this.textController
    })
      .height(200)
      .width("100%")
  }
  //todo 需要在 TextArea的外层组件设置 offset 来抵消安全距离
  .offset({
    y:16
  })
}
//规格选择页面控制器
customDialogController: CustomDialogController = new CustomDialogController({
  builder: SpecificationsCustomDialog({

  }),
  alignment: DialogAlignment.Bottom,
  customStyle: true,
  autoCancel: false,
  //这里设置dy: -16,会将弹窗抬起来
  offset: {
    dx: 0,
    dy: -16
  }
});
  • 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.
分享
微博
QQ
微信
回复
2024-12-20 18:13:57
相关问题
HarmonyOS 如何实现图中input控件效果
1033浏览 • 1回复 待解决
HarmonyOS图中如何渲染多个marker
867浏览 • 1回复 待解决
HarmonyOS 想要实现图中这样UI
978浏览 • 1回复 待解决
如何去除Checkbox阴影效果
2672浏览 • 1回复 待解决
dialog 如何去除与屏幕间空隙?
933浏览 • 1回复 待解决
鸿蒙webview如何去除默认白色背景?
5281浏览 • 1回复 待解决
HarmonyOS图中是否支持海量marker
1239浏览 • 0回复 待解决
HarmonyOS Web加载PDF如何去除工具栏
691浏览 • 1回复 待解决
如何去除自定义弹窗白色背景
2998浏览 • 1回复 待解决
HarmonyOS bindsheet蒙层去除
670浏览 • 1回复 待解决
如何去除Tabs组件两侧蒙层
2498浏览 • 1回复 待解决