The textCapSentences
соответствует постоянной TYPE_TEXT_FLAG_CAP_SENTENCES
, которая является частью TextView
Android класса. Этот класс обернута по Androidapi.JNI.Widget.JTextView
int но это не используется непосредственно элементами управления Firemonkey TEdit, вместо этого Firemonkey использует класс прокси под названием JFMXTextEditorProxy
. поэтому теоретически вы должны получить доступ к прокси-классу, связанному с EditControl, чтобы установить значение TYPE_TEXT_FLAG_CAP_SENTENCES
с использованием метода setEnterAction
. к сожалению экземпляр этого класса прокси заключен в класс TTextServiceAndroid
, который определен в части реализации блока FMX.Platform.Android
, , поэтому доступ к нему невозможен. Поэтому единственный вариант, который приходит мне на ум, - это использовать событие OnKeyDown
, например:
Это будет использовать первую букву EditText и любое после символа пробела.
procedure TForm1.Edit1KeyDown(Sender: TObject; var Key: Word; var KeyChar: Char;
Shift: TShiftState);
begin
if (TEdit(Sender).Text.Length=0) or ((TEdit(Sender).Text.Length>0) and TEdit(Sender).Text.EndsWith(' ')) then
KeyChar:=UpCase(KeyChar);
end;
Да. Я пробовал, но это не вариант для меня. Мне нужен пользователь, чтобы увидеть заглавную первую букву, когда он вводит слова, а не когда hi-типы «». Может быть, это какой-то способ «нажать» сдвиг в Virtual Keybord? Я думаю, что это должно быть. – user2880885