Delphi TEdit в Android - отключите автоматическое ограничение для каждого TEdit

Dec 09 2020

В настоящее время Android TEdit, когда он вызывает клавиатуру, будет иметь клавиатуру заглавными буквами для первой буквы.

Я хотел бы отключить автоматический переход на заглавные буквы для первой буквы. Примечание: я не хочу делать это в Android - Настройки ->, что будет применяться ко всему приложению. Я хочу делать это на основе TEdit.

Удивительно, но я не смог найти информацию об этом в Delphi. Свойства в TEdit также не имеют ничего общего с капитализацией.

Я не могу использовать функцию TEdit.CharCase, поскольку она переводит весь ввод в TEdit в нижний регистр.

То , что я хочу, что пользователь может ввести в смешанном случае , если они хотят , но клавиатура должна быть в нижнем регистре , когда TEdit первым приходит в центр внимания.

Виртуальная клавиатура Android включает Caps Lock

Глядя на ссылку выше, кажется, что это возможно.

Как мне это сделать в Delphi?

Delphi 10.2 (скоро переход на 10.4.1)

Ответы

2 DaveNottage Dec 11 2020 at 03:12

При использовании 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.