HarmonyOS 如何去除如图中的间隙

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

HarmonyOS
2天前
浏览
收藏 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
  }
});
分享
微博
QQ
微信
回复
2天前
相关问题
HarmonyOS 如何实现图中input控件效果
413浏览 • 1回复 待解决
HarmonyOS图中如何渲染多个marker
55浏览 • 1回复 待解决
如何去除Checkbox阴影效果
1970浏览 • 1回复 待解决
HarmonyOS 想要实现图中这样UI
233浏览 • 1回复 待解决
鸿蒙webview如何去除默认白色背景?
4577浏览 • 1回复 待解决
dialog 如何去除与屏幕间空隙?
338浏览 • 1回复 待解决
HarmonyOS bindsheet蒙层去除
56浏览 • 1回复 待解决
如何去除自定义弹窗白色背景
2388浏览 • 1回复 待解决
HarmonyOS图中是否支持海量marker
315浏览 • 0回复 待解决
如何去除Tabs组件两侧蒙层
1985浏览 • 1回复 待解决
openharmony4.0 如何去除锁屏功能
2527浏览 • 0回复 待解决
编译so时如何去除符号表
2927浏览 • 1回复 待解决