OpenHarmony替换系统软键盘_kikakeyboard
想了解更多关于开源的内容,请访问:
51CTO 鸿蒙开发者社区
https://ost.51cto.com
前言
替换系统软键盘基本是基于社区提供的kikaInput二次开发实现,目前kikaInput根据系统版本的不同发布了很多相对应的版本,在二次开发时可以根据自己的需要选择合适的版本进行修改。
kikakeyboard 适配PAD
效果
适配前 |
适配后 |
|
|
设备类型适配
PAD设备基本属于横向类型设备,也就是宽度大于高度,在3.2.3 release的版本上已经做了table类型的适配,但是IDE运行时因为应用无法直接安装,所以无法正确的判别设备的类型,会默认返回default类型设备,所以对于PAD的适配只需要修改程序中设置的设备类型即可。
- index.ets
let deviceType = 'tablet'
软键盘高度问题
系统有虚拟操作栏,软键盘从底部弹出,所以底部有些会被虚拟软键盘遮挡。解决方案有两种:1、长按桌面,进行界面设置,开启手势操作,隐藏虚拟操作栏;2、修改软键盘弹窗的显示高度,操作步骤
- KeyboardController
var keyHeightRate = 0.51;
说明:keyHeightRate是一个高度比例,0.51就表示占屏幕高度的51%,可以根据设备的实际情况进行调整。
安装
软键盘程序修改后需要重新安装到设备上,由于软键盘程序属于系统应用,并且有签名限制无法直接通过IDE的 run 安装。如何才能正常的安装上软键盘程序呢?
步骤1:修改签名配置
在IDE设置中查找OpenHarmony SDK的位置
步骤2:修改打包签名配置
在SDK的lib中中查找到UnsgnedReleasedProfileTemplate.json文件
替换以下关键信息
- distribution-certificate:cer签名配置
- bundle-name:应用包名
- app-feature:应用级别-ohos_system_app:系统应用
- allowed-acls:权限
步骤3:自动签名
步骤4:获取指纹信息
在DevEco Studio 中打开Log 界面,选择HiLog 过滤 “finger” 字符。
进入系统Shell命令行 ,设置Hilog 等级。
单击Run > Run ‘{模块名称}’ 运行工程中任意HAP包。在运行时会进行HAP包的安装,此时有可能安装不成功报错,是因为我们应用未正确配置导致,但此时我们目的为获取指纹信息,忽略错误。
查看DevEco Studio 的Log 界面,指纹信息已经被打印出来。
假设我们获取到的指纹信息:6828322A055D4DDFA07DCCC78586EA97B5D2AD7D8BD1B3CEFE00EF584904D728