页面上的TextInput输入框在页面底部,点击输入框弹起键盘,如何让输入框自动上移到键盘上方,避免被遮挡?

HarmonyOS 页面上的TextInput输入框在页面底部,点击输入框弹起键盘,如何让输入框自动上移到键盘上方,避免被遮挡?

HarmonyOS
2024-10-25 11:39:50
浏览
收藏 0
回答 1
待解决
回答 1
按赞同
/
按时间
superinsect

可以在EntryAbility里onWindowStageCreate中添加监听输入法高度变化的代码。

windowStage.getMainWindow((err, data) => {  
  if (err.code) {  
    console.error('Failed to obtain the main window. Cause: ' + JSON.stringify(err));  
    return;  
  }  
  // let windowClass = null;  
  let windowClass = data;  
  //1. 设置监听键盘变化,用来设置inputview 避让输入法  
  try {  
    windowClass.on('keyboardHeightChange', (data) => {  
      console.info('keyboardHeightChange. Data: ' + JSON.stringify(data));  
      AppStorage.setOrCreate('keyboardHeight', data);  
      console.info(AppStorage.get('keyboardHeight'))  
    });  
  } catch (exception) {  
    console.error('Failed to enable the listener for keyboard height changes. Cause: ' + JSON.stringify(exception));  
  }  
})

单位是px,转换vp可以使用px2vp(value : number) : number方法,

参考链接:

https://developer.huawei.com/consumer/cn/doc/harmonyos-references-V5/ts-pixel-units-V5#像素单位转换

分享
微博
QQ
微信
回复
2024-10-25 15:27:22
相关问题
H5页面输入框自动获焦弹起键盘
1620浏览 • 1回复 待解决
HarmonyOS 自定义键盘不能顶起输入框
242浏览 • 1回复 待解决
HarmonyOS 输入框无法对齐
284浏览 • 1回复 待解决
如何清空文本输入框内容
538浏览 • 1回复 待解决