HarmonyOS 鸿蒙Next中设置键盘避让

HarmonyOS 鸿蒙Next中设置键盘避让

windowStage.loadContent('pages/Index19', (err) => {
    windowStage.getMainWindowSync().getUIContext().setKeyboardAvoidMode(KeyboardAvoidMode.RESIZE)
}
@Entry
@Component
struct Index19 {
  @State message: string = 'Hello World';

  build() {
   Column() {
     Row() {
       Text("头部")
     }.backgroundColor(Color.Grey)

     Blank()
       .backgroundColor(Color.Pink)
     Row() {
       TextInput()
     }
   }
   .height('100%')
   .width('100%')
  }
}

更多关于HarmonyOS 鸿蒙Next中设置键盘避让的实战教程也可以访问 https://www.itying.com/category-93-b0.html

2 回复

在HarmonyOS Next中,键盘避让通过自适应布局实现。系统自动检测键盘弹出事件,并调整界面元素位置以避免遮挡。开发者可使用avoid属性或keyboardAvoidance相关API,确保输入框等组件在键盘显示时上移。无需手动处理键盘事件,鸿蒙系统已内置响应式避让机制。

更多关于HarmonyOS 鸿蒙Next中设置键盘避让的实战系列教程也可以访问 https://www.itying.com/category-93-b0.html


在HarmonyOS Next中,通过setKeyboardAvoidMode(KeyboardAvoidMode.RESIZE)设置键盘避让模式为RESIZE是正确的做法,这会在键盘弹出时自动调整窗口布局,避免输入框被遮挡。

你的代码示例中,在loadContent回调中调用该方法,确保窗口已创建后设置避让模式。UI结构使用Column布局,配合Blank组件填充空间,能够较好地适配键盘弹出时的布局调整。

需要注意,RESIZE模式会触发窗口尺寸变化,需确保布局能够自适应。如果遇到特定场景布局异常,可以检查容器尺寸是否使用百分比或弹性布局。

回到顶部