HarmonyOS 输入法的高度是如何确定的?

输入法的高度是如何确定的?指南上给出代码如下:

let dis = display.getDefaultDisplaySync();  
   let dWidth = dis.width;  
   let dHeight = dis.height;  
   let keyHeightRate = 0.47;  
   let keyHeight = dHeight * keyHeightRate;  
   let nonBarPosition = dHeight - keyHeight;  
   let panelInfo: inputMethodEngine.PanelInfo = {  
     type: inputMethodEngine.PanelType.SOFT_KEYBOARD,  
     flag: inputMethodEngine.PanelFlag.FLG_FIXED  
   };  
   inputMethodAbility.createPanel(this.mContext, panelInfo).then(async (inputPanel: inputMethodEngine.Panel) => {  
     this.panel = inputPanel;  
     if (this.panel) {  
       await this.panel.resize(dWidth, keyHeight);  
       await this.panel.moveTo(0, nonBarPosition);  
       await this.panel.setUiContent('InputMethodExtensionAbility/pages/Index');  
     }  
   });

但是这个高度0.47是根据什么来设定的?0.47会把输入框给挡住了。有什么地方进行这个设置?

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

对于输入法遮挡输入框的问题,可以尝试以下方案:设置安全区域 :

.expandSafeArea([SafeAreaType.SYSTEM], [SafeAreaEdge.TOP, SafeAreaEdge.BOTTOM]);

https://developer.huawei.com/consumer/cn/doc/harmonyos-references-V5/ts-universal-attributes-expand-safe-area-V5#expandsafearea

通过该接口设置要避让软键盘的窗口,请参考:https://developer.huawei.com/consumer/cn/doc/harmonyos-references-V5/js-apis-inputmethod-V5

分享
微博
QQ
微信
回复
2024-10-18 18:18:08
相关问题
HarmonyOS如何监听输入法显示隐藏
620浏览 • 1回复 待解决
如何监听输入法输入内容变化?
383浏览 • 1回复 待解决
HarmonyOS 输入法光标控制
38浏览 • 1回复 待解决
输入法编程接口吗?
4717浏览 • 1回复 待解决
小程序输入法键盘光标问题
338浏览 • 1回复 待解决
如何取消订阅输入法文本内容变化
435浏览 • 1回复 待解决