現在、AndroidアプリでTEditのTextPromptのTextAlignとFontColorを変更したいです。
通常のTextプロパティはTextAlignをLeadingで、FontColorはBlackのままで、入力されていない時の表示は、TextAlignをCenterで、FontColorはRedにしたいです。
カスタムスタイルの編集から、EditStyleのPromptオブジェクト?を編集しても、Opacityは適用されるけど、TextAlignとFontColorを設定しても、反映されないです。
TextSettingsだったかStyledSettingsはすでに外しています。
原因がわからないので、解決できる方教えて欲しいです。
外していたらすいません。以下は如何でしょうか。
procedure TForm1.Edit1ApplyStyleLookup(Sender: TObject);
var
PromptObj: TFmxObject;
begin
PromptObj := Edit1.FindStyleResource('prompt');
if PromptObj is TLabel then
begin
TLabel(PromptObj).FontColor := TAlphaColorRec.Red;
TLabel(PromptObj).TextAlign := TTextAlign.Center;
end;
end;
こういうこと?
procedure TForm2.Edit1ChangeTracking(Sender: TObject);
begin
if Edit1.Text = '' then
begin
Edit1.TextSettings.FontColor := TAlphaColorRec.Red;
Edit1.TextSettings.HorzAlign := TTextAlign.Center;
end
else
begin
Edit1.TextSettings.FontColor := TAlphaColorRec.Black;
Edit1.TextSettings.HorzAlign := TTextAlign.Leading;
end;
end;
ありがとうございます。
上記のコードをFormCreate時に試したときはできなかったので、タイミングかなと思いつつ、
お二人のイベント内で実行してみようと思います。
| ツイート |
|