【问题标题】:Delphi XE6 Firemonkey Mobile - How to disable Virtual Keyboard?Delphi XE6 Firemonkey Mobile - 如何禁用虚拟键盘?
【发布时间】:2015-01-06 14:21:42
【问题描述】:

当我将编辑字段聚焦在 Android 上时,总是会弹出虚拟键盘。 我喜欢禁用它,或者更好地通过单击按钮来启用/禁用它。

目前我用一个计时器“解决”了这个问题,该计时器总是在之后关闭虚拟键盘 出现。这是我的代码:

uses FMX.VirtualKeyboard;

procedure TForm1.Timer1Timer(Sender: TObject);
var Keyboard: IFMXVirtualKeyboardService;
begin
    if TPlatformServices.Current.SupportsPlatformService(IFMXVirtualKeyboardService,Keyboard) then
    begin
        if TVirtualKeyBoardState.Visible in Keyboard.GetVirtualKeyBoardState then
        begin
            Keyboard.HideVirtualKeyboard;
        end
    end;
end;

希望你能帮帮我。

非常感谢!

【问题讨论】:

标签: android delphi firemonkey virtual-keyboard


【解决方案1】:

您可以禁用虚拟键盘的自动显示

VKAutoShowMode := TVKAutoShowMode.Never;

在 FMX.Types 中定义。

把它放在你的 DPR 中,然后它就不会再自动弹出了。

【讨论】:

  • 与 Delphi 10.2 Tokyo 和 Android 6 一起使用它不起作用。我已将此代码放在 .DPROJ 文件中,就在Application.Initialize 之后。这是正确的地方吗?
  • 更正:我以为是 .dproj 文件,但它似乎是 .dpr 文件。但它不起作用。 @Jim McKeeth 有什么建议吗?
【解决方案2】:

您还可以放置:

VKAutoShowMode := TVKAutoShowMode.Never;

在主窗体的 FormCreate 事件中。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2016-12-11
    • 1970-01-01
    • 2014-10-26
    • 2012-07-09
    • 2021-04-20
    • 1970-01-01
    • 1970-01-01
    • 2017-05-09
    相关资源
    最近更新 更多