【问题标题】:Delphi TEdit in Android - turn off auto-caps on a per TEdit basisAndroid中的Delphi TEdit - 在每个TEdit的基础上关闭自动上限
【发布时间】:2023-03-06 09:47:01
【问题描述】:

目前,Android TEdit 在调出键盘时,会将键盘的首字母大写。

我想关闭键盘自动进入大写字母的首字母。注意:我不想在 Android - Settings -> 中执行此操作,这将适用于整个应用程序。我想在每个 TEdit 的基础上进行。

令人惊讶的是,我在 Delphi 中找不到有关执行此操作的信息。 TEdit 中的属性似乎也没有任何关于大写的内容。

我无法使用 TEdit.CharCase 功能,因为它强制 TEdit 中的所有输入为小写。

我想要的是用户可以在 他们选择时输入混合大小写,但是当 TEdit 第一次成为焦点时,键盘必须是小写的。

Android virtual keyboard turn on caps lock

看上面的链接,好像是可以实现的。

我如何在 Delphi 中做到这一点?

Delphi 10.2(即将移至 10.4.1)

【问题讨论】:

    标签: android delphi firemonkey


    【解决方案1】:

    当使用 Delphi 10.4.1 时,你可以这样做,例如:

    uses
      Androidapi.JNI.GraphicsContentViewText,
      FMX.Platform.Android;
    
    procedure TForm1.Edit2Enter(Sender: TObject);
    begin
      PlatformAndroid.TextInputManager.GetEditText.setInputType(TJInputType.JavaClass.TYPE_CLASS_TEXT);
    end;
    

    我的测试应用中有 2 个编辑控件。上面的代码是第二次编辑的 OnEnter 事件处理程序。第一个字符不大写

    我预计您将无法在 10.2 中使用它

    【讨论】:

    • 我刚刚意识到 IOS 的行为方式相同。如果有人在这里回复 IOS 的解决方案,我将修改问题以包括 IOS。 (如果没有,我将作为一个单独的问题发布)
    • 遗憾的是,针对 iOS 的修复更具侵入性,因为它们涉及修改 FMX 源。如果您为此发布另一个问题,我可以回答
    • 谢谢,我已经发布了。 stackoverflow.com/questions/65299636/…
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-01-10
    • 1970-01-01
    • 1970-01-01
    • 2015-02-09
    • 1970-01-01
    相关资源
    最近更新 更多