Delphi TEdit dans Android - désactiver les plafonds automatiques par TEdit

Dec 09 2020

Actuellement, Android TEdit, lorsqu'il affiche le clavier, aura le clavier en majuscules pour la première lettre.

Je voudrais désactiver le passage automatique du clavier en majuscules pour la première lettre. Remarque: je ne veux pas faire cela dans Android - Paramètres -> qui s'appliquera à l'ensemble de l'application. Je veux le faire sur une base par TEdit.

Étonnamment, je n'ai pas trouvé d'informations sur ce sujet dans Delphi. Les propriétés de TEdit ne semblent pas non plus avoir quoi que ce soit sur la capitalisation.

Je ne peux pas utiliser la fonctionnalité TEdit.CharCase car elle force toutes les entrées de TEdit en minuscules.

Ce que je veux, c'est que l'utilisateur puisse taper en casse mixte s'il le souhaite, mais le clavier doit être en minuscules lorsque TEdit est mis au point pour la première fois.

Le clavier virtuel Android active le verrouillage des majuscules

En regardant le lien ci-dessus, il semble qu'il est possible d'accomplir.

Comment faire cela dans Delphi?

Delphi 10.2 (bientôt en 10.4.1)

Réponses

2 DaveNottage Dec 11 2020 at 03:12

Lorsque vous utilisez Delphi 10.4.1, vous pouvez le faire de cette façon, par exemple:

uses
  Androidapi.JNI.GraphicsContentViewText,
  FMX.Platform.Android;

procedure TForm1.Edit2Enter(Sender: TObject);
begin
  PlatformAndroid.TextInputManager.GetEditText.setInputType(TJInputType.JavaClass.TYPE_CLASS_TEXT);
end;

J'avais 2 contrôles d'édition dans mon application de test. Le code ci-dessus est le gestionnaire d'événements OnEnter pour la deuxième édition. Il ne met pas en majuscule le premier caractère

Je pense que vous ne pourrez pas l'utiliser avec 10.2