HarmonyOS 弹窗布局被软键盘压缩
占满屏幕高度的dialog软键盘弹出时布局被压缩。
操作步骤:
1、已在EntryAbility windowStage.loadContent后设置windowStage.getMainWindowSync().getUIContext().setKeyboardAvoidMode(KeyboardAvoidMode.OFFSET),已确认@Component组件生效,布局不会被软键盘压缩。
2、SelectCategorySidebarDialog中的控件设置expandSafeArea([SafeAreaType.KEYBOARD],[SafeAreaEdge.BOTTOM])。
3、SelectCategorySidebarDialog.open。
4、点击SelectCategorySidebarDialog中的TextInput打开软键盘,SelectCategorySidebarDialog布局被压缩。
源码:
// dialog的定义
@CustomDialog
export struct SelectCategorySidebarDialog {
  controller?: CustomDialogController
  build() {
    Column() {
      Blank()
      TextInput()
        .expandSafeArea([SafeAreaType.KEYBOARD], [SafeAreaEdge.BOTTOM])
    }
    .expandSafeArea([SafeAreaType.KEYBOARD], [SafeAreaEdge.BOTTOM])
    .backgroundColor(Color.White)
    .width("72.8%")
    .height("100%")
  }
}
// dialog初始化方式
selectCategoryDialogController: CustomDialogController | null = new CustomDialogController({
  builder: SelectCategorySidebarDialog(),
  autoCancel: true,
  customStyle: true,
  alignment: DialogAlignment.TopStart,
})
期待结果:软键盘直接遮挡dialog的布局。
        HarmonyOS
      
        赞
        
 收藏 0
 回答 1
 
        待解决
        
相关问题
 HarmonyOS CustomDialog弹窗被软键盘顶起后,存在空隙 
3222浏览  • 1回复 待解决
HarmonyOS 弹窗不避让软键盘 
1937浏览  • 1回复 待解决
HarmonyOS 如何实现弹窗不规避软键盘 
1257浏览  • 1回复 待解决
HarmonyOS 如何监听软键盘弹出以及获取软键盘高度 
1626浏览  • 1回复 待解决
鸿蒙手机如何隐藏软键盘和弹出软键盘? 
17462浏览  • 1回复 待解决
HarmonyOS 弹窗跟软键盘间的间如何去除 
1199浏览  • 1回复 待解决
如何实现弹窗和软键盘的避让 
2814浏览  • 1回复 待解决
HarmonyOS中怎么实现布局不被软键盘遮挡,软键盘弹出时,布局会自动向上滚动,使得当前焦点EditText可见。 
734浏览  • 1回复 待解决
HarmonyOS 软键盘操作API 
826浏览  • 1回复 待解决
HarmonyOS 如何监听软键盘的弹起与收起及获取软键盘高度 
1245浏览  • 1回复 待解决
如何实现软键盘弹出后,整体布局不变 
3774浏览  • 1回复 待解决
HarmonyOS,弹窗跟软键盘间的间如何去除 ? 
827浏览  • 0回复 待解决
HarmonyOS 如何监听软键盘弹出 
1221浏览  • 1回复 待解决
HarmonyOS 如何监听软键盘收起 
1242浏览  • 1回复 待解决
HarmonyOS 软键盘问题 
800浏览  • 1回复 待解决
HarmonyOS TextInput软键盘监听 
1079浏览  • 1回复 待解决
HarmonyOS dialog和软键盘 
953浏览  • 1回复 待解决
HarmonyOS 软键盘弹出方式 
1257浏览  • 1回复 待解决
关于软键盘弹出遮挡问题 
2538浏览  • 1回复 待解决
如何判断软键盘是否弹出 
3212浏览  • 1回复 待解决
HarmonyOS 软键盘弹出控制与检测 
1174浏览  • 1回复 待解决
HarmonyOS 如何代码控制软键盘弹出? 
1500浏览  • 1回复 待解决
HarmonyOS 软键盘挤压Toast弹框 
813浏览  • 1回复 待解决
HarmonyOS 表情面板和软键盘 
1021浏览  • 1回复 待解决
HarmonyOS 如何控制软键盘打开、收起? 
2601浏览  • 1回复 待解决





















自定义弹窗默认避让输入法,不允许配置不避让。自定义弹窗仅适用于简单提示场景,当弹窗高度过大时建议用页面级的组件代替,或者使用半模态实现相关功能。
参考示例: