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');  
     }  
   });
  • 1.
  • 2.
  • 3.
  • 4.
  • 5.
  • 6.
  • 7.
  • 8.
  • 9.
  • 10.
  • 11.
  • 12.
  • 13.
  • 14.
  • 15.
  • 16.
  • 17.
  • 18.

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

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

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

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

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 自带输入法输入问题
1069浏览 • 1回复 待解决
如何监听输入法输入内容变化?
1252浏览 • 1回复 待解决
HarmonyOS如何监听输入法显示隐藏
1465浏览 • 1回复 待解决
HarmonyOS 输入法键盘按键按压效果?
1099浏览 • 2回复 待解决
HarmonyOS 输入法光标控制
1064浏览 • 1回复 待解决
输入法编程接口吗?
5550浏览 • 1回复 待解决
小程序输入法键盘光标问题
1217浏览 • 1回复 待解决
HarmonyOS 本地模拟器怎么使用输入法
771浏览 • 1回复 待解决