HarmonyOS 如何让底部的TextInput被软键盘顶上去,而其他内容不会动、不被压缩、不被顶上去

HarmonyOS
1天前
浏览
收藏 0
回答 1
待解决
回答 1
按赞同
/
按时间
shlp

使用stack布局可避免,参考示例如下:

import window from '@ohos.window';
import { KeyboardAvoidMode } from '@kit.ArkUI';

@Entry
@Component
struct Index25 {
  private windowStage = AppStorage.get("windowStage") as window.WindowStage
  @State message: string = ''

  aboutToAppear(): void {
    // 设置虚拟键盘抬起时压缩页面大小为减去键盘的高度
    this.windowStage.getMainWindowSync().getUIContext().setKeyboardAvoidMode(KeyboardAvoidMode.RESIZE);
  }

  build() {
    Stack() {
      Column()
        .height('100%')
        .width('100%')
        .backgroundImage($rawfile('111.jpg'))
        .backgroundImageSize(ImageSize.Cover)
        .expandSafeArea([SafeAreaType.KEYBOARD, SafeAreaType.SYSTEM])

      Column() {
        Text(this.message).onClick(() => {
        })
          .fontSize(30)
        TextInput({ text: 'stack test' })
          .margin({ bottom: 30 })

      }.width('100%')
      .height('100%')
      .justifyContent(FlexAlign.SpaceBetween)
    }
  }
}
分享
微博
QQ
微信
回复
1天前
相关问题
HarmonyOS TextInput软键盘监听
43浏览 • 1回复 待解决
鸿蒙软键盘弹出后,页面底部按钮
4157浏览 • 0回复 待解决
HarmonyOS 如何监听软键盘弹出
35浏览 • 1回复 待解决
HarmonyOS 如何监听软键盘收起
45浏览 • 1回复 待解决
如何判断软键盘是否弹出
2156浏览 • 1回复 待解决