Delphi TEdit w Androidzie - wyłącz automatyczne czapki na podstawie TEdit

Dec 09 2020

Obecnie Android TEdit, kiedy wywołuje klawiaturę, będzie miał klawiaturę w Caps dla pierwszej litery.

Chciałbym wyłączyć automatyczne przełączanie klawiatury w klawisze Caps dla pierwszej litery. Uwaga: nie chcę tego robić w systemie Android - Ustawienia ->, które będzie dotyczyło całej aplikacji. Chcę to zrobić na zasadzie per TEdit.

O dziwo nie mogłem znaleźć informacji o tym, jak to zrobić w Delphi. Właściwości w TEdit również nie wydają się mieć nic na temat kapitalizacji.

Nie mogę użyć funkcji TEdit.CharCase, ponieważ wymusza ona wszystkie dane wejściowe w TEdit na małe litery.

Chcę, aby użytkownik mógł pisać w mieszanej wielkości, jeśli zdecyduje, ale klawiatura musi być pisana małymi literami, gdy TEdit po raz pierwszy pojawia się w fokusie.

Wirtualna klawiatura Androida włącza Caps Lock

Patrząc na powyższy link, wydaje się, że jest to możliwe.

Jak to zrobić w Delphi?

Delphi 10.2 (wkrótce przejście do wersji 10.4.1)

Odpowiedzi

2 DaveNottage Dec 11 2020 at 03:12

Korzystając z Delphi 10.4.1, możesz to zrobić w ten sposób, na przykład:

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

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

W mojej aplikacji testowej miałem 2 elementy sterujące edycją. Powyższy kod to program obsługi zdarzeń OnEnter dla drugiej edycji. Pierwsza litera nie jest zapisywana wielką literą

Spodziewam się, że nie będziesz mógł tego używać z 10.2