HarmonyOS 鸿蒙Next键盘关闭问题
HarmonyOS 鸿蒙Next键盘关闭问题 一个flutter页面或是webview页面打开弹起的键盘,手势返回时,如何关闭键盘
2 回复
使用下面参考文档示例2的demo,把// PageTwo.ets换成下面的,试一下。 跳转到PageTwo页面后 点击 keyboardHeightChange 开启监听软键盘高度
// PageTwo.ets
import web_webview from '@ohos.web.webview';
import { inputMethod } from '@kit.IMEKit';
import { BusinessError } from '@kit.BasicServicesKit';
import { window } from '@kit.ArkUI';
@Builder
export function PageTwoBuilder(name: string, param: Object) {
PageTwo()
}
@Component
export struct PageTwo {
@State keyBoardHeight: number = 0;
pathStack: NavPathStack = new NavPathStack()
webviewController: web_webview.WebviewController = new web_webview.WebviewController();
private menuItems: Array<NavigationMenuItem> = [
{
value: "1",
icon: 'resources/base/media/undo.svg',
},
{
value: "2",
icon: 'resources/base/media/redo.svg',
isEnabled: false,
},
{
value: "3",
icon: 'resources/base/media/ic_public_ok.svg',
isEnabled: true,
}
]
aboutToAppear(): void {
}
build() {
NavDestination() {
Column() {
// web组件加载本地local1.html页面
Web({ src: $rawfile('local1.html'), controller: this.webviewController }).height(50)
Button('keyboardHeightChange', { stateEffect: true, type: ButtonType.Capsule })
.width('80%')
.height(40)
.margin(20)
.onClick(() => {
window.getLastWindow(getContext()).then(lastWindow => {
lastWindow.on('keyboardHeightChange', (data) => {
this.keyBoardHeight = data
console.info('keyBoardHeight: ' + data.toString())
})
}).catch((err: BusinessError) => {
console.error('jjxs:Failed to enable the listener for keyboard height changes. Cause: ' + JSON.stringify(err));
})
})
Button('pushPathByName', { stateEffect: true, type: ButtonType.Capsule })
.width('80%')
.height(40)
.margin(20)
.onClick(() => {
this.pathStack.pushPathByName('pageOne', null)
})
}.width('100%').height('100%')
}.title('pageTwo')
.menus(this.menuItems)
.onBackPressed(() => {
if ( this.keyBoardHeight>0) {
let inputMethodController = inputMethod.getController();
inputMethodController.hideTextInput()
return true
}
this.pathStack.pop()
return true
})
.onReady((context: NavDestinationContext) => {
this.pathStack = context.pathStack;
console.log("current page config info is " + JSON.stringify(context.getConfigInRouteMap()))
})
}
}
更多关于HarmonyOS 鸿蒙Next键盘关闭问题的实战系列教程也可以访问 https://www.itying.com/category-93-b0.html
针对HarmonyOS(鸿蒙)Next键盘关闭问题,以下提供直接相关的解决方案:
在HarmonyOS设备上关闭Next键盘,可以尝试以下几种方法:
-
系统设置关闭:
- 进入“设置”应用。
- 搜索“键盘”或“输入法”选项。
- 在输入法管理中,找到并点击进入Next键盘的设置。
- 寻找“启用”或“默认输入法”选项,将Next键盘取消勾选或更改为其他输入法,以达到关闭Next键盘的目的。
-
应用内关闭:
- 在需要输入文字的应用中,长按输入框,通常会弹出输入法选择的菜单。
- 在弹出的菜单中,选择其他已安装的输入法,以替换Next键盘。
-
强制停止服务:
- 进入“设置”中的“应用和服务”或“应用管理”。
- 搜索Next键盘或相关输入法应用。
- 点击进入应用详情,选择“强制停止”来暂时关闭Next键盘的服务。
请注意,以上方法可能因不同的HarmonyOS版本和设备型号而略有差异。如果以上方法未能解决您的问题,可能是由于系统或应用的特定问题,此时建议直接联系设备制造商或访问官网客服获取进一步帮助。
如果问题依旧没法解决请联系官网客服,官网地址是 https://www.itying.com/category-93-b0.html,