HarmonyOS 如何实现点击非输入框区域收起软键盘

HarmonyOS  如何实现点击非输入框区域收起软键盘。

HarmonyOS
2024-09-24 12:30:59
浏览
收藏 0
回答 1
回答 1
按赞同
/
按时间
superinsect

非输入框区域收起软键盘使用stopInputSession结束输入会话。

.onTouch(() => {  
  // 收起键盘  
  let inputMethodController = inputMethod.getController();  
  inputMethodController.stopInputSession()  
})
  • 1.
  • 2.
  • 3.
  • 4.
  • 5.

参考文档:https://developer.huawei.com/consumer/cn/doc/harmonyos-references-V5/js-apis-inputmethod-V5#stopinputsession9

通过让TextInput失焦的方法,让软键盘收起,目前让TextInput失焦的方法只能通过让别的组件获焦而使当前组件失焦,可以将焦点转移给其他组件

。例如,提供一个button组件,并设置点击时可获焦,当点击按钮时,可让TextInput失焦,软键盘收起

参考demo:

@Entry  
@Component  
struct TextInputExample {  
  @State oneButtonColor: string = '#FFC0CB'  
  build() {  
    Column() {  
      TextInput({ placeholder: '' })  
        .width('95%')  
        .height(40)  
        .margin(20)  
        .onFocus(() => {  
          console.log("input获焦");  
        })  
        .onBlur(() => {  
          console.log("input失焦");  
        })  
      // button设置点击时能获焦  
      Button('First Button')  
        .backgroundColor(this.oneButtonColor)  
        .width(260)  
        .height(70)  
        .fontColor(Color.Black)  
        .focusable(true)  
          // 设置点击获取焦点  
        .focusOnTouch(true)  
        .onFocus(() => {  
          this.oneButtonColor = '#FF0000'  
        })  
        .onBlur(() => {  
          this.oneButtonColor = '#FFC0CB'  
        })  
    }.width('100%')  
  }  
}
  • 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.
  • 31.
  • 32.
  • 33.
  • 34.
分享
微博
QQ
微信
回复
2024-09-24 16:02:15
相关问题
HarmonyOS 输入框软键盘问题
874浏览 • 1回复 待解决
HarmonyOS 如何监听软键盘收起
953浏览 • 1回复 待解决
HarmonyOS 软键盘会变为数字输入
508浏览 • 1回复 待解决
HarmonyOS 如何控制软键盘打开、收起
2006浏览 • 1回复 待解决
如何主动收起软键盘
962浏览 • 1回复 待解决
HarmonyOS如何代码收起软键盘
1132浏览 • 1回复 待解决
H5页面输入框自动获焦弹起软键盘
2803浏览 • 1回复 待解决
HarmonyOS 软键盘挤压Toast弹
564浏览 • 1回复 待解决
HarmonyOS 键盘遮挡输入框
751浏览 • 1回复 待解决