【问题标题】:Show/Hide virtual keyboard on Maui Blazor在 Maui Blazor 上显示/隐藏虚拟键盘
【发布时间】:2023-02-02 22:14:23
【问题描述】:
我需要一种方法来以编程方式显示/隐藏适用于 Android 平台的 Maui Blazor 应用程序上的虚拟键盘。
我正在为 barcodescanner 设备(带有集成 Barcodescanner 的 Android 设备)创建一个应用程序。
每次输入输入字段时弹出键盘真的很烦人。
有什么办法吗?你通过互联网获得的信息如此之少真是太疯狂了:(
我已经尝试将输入类型更改为“无”,但这也让我也无法扫描。
我可以为整个设备全局禁用弹出窗口,但这不是真正的解决方案。
提前致谢!
【问题讨论】:
标签:
c#
android
maui-blazor
【解决方案1】:
您可以尝试将以下代码放入 MainActivity 中。
protected override void OnCreate(Bundle savedInstanceState)
{
base.OnCreate(savedInstanceState);
this.Window.SetFlags(Android.Views.WindowManagerFlags.NotFocusable, Android.Views.WindowManagerFlags.NotFocusable);
//this will disable the soft keyboard in the whole app.
}
【解决方案2】:
我一直在使用 inputmode 标签。将其设置为 "" 以获得默认行为。因此,根据输入类型,它会显示数字或字母数字键盘。当设置为无时,它不会显示键盘。
我使用 Blazor WASM 让它工作。使用 Blazor Server,我仍在为单击和聚焦事件而苦苦挣扎。即使最初应该隐藏键盘,仍然可以通过单击输入来显示它。当启用 ServerPrerender 时,此方法根本不起作用,当您禁用它时,它对我来说可以工作 90%。
因此,如果您根本不需要键盘进行某些输入,则只需使用 inputmode="none"。
问候,尼科