Margins sind ja auch der Außenabstand, also gehören theoretisch nicht mit zum Element, während Padding der Innenabstand ist, also der Abstand vom Rand des Elements zum Inhalt.
Die Verwendung von Margins ist hier schon korrekt, da die Position des (inneren) Style-Elements relativ zu seinem Parent-Control herauskommen soll. An den anderen Stellen in FMX wird auch korrekt mit den Margin-Eigenschaften Left/Right und Top/Bottom gearbeitet. Nur(?) hier wird auf Margins.Width und Margins.Height zugegriffen, die allerdings unsinnige Werte liefern.
Man kann das gerne probieren:
Delphi-Quellcode:
program Project75;
{$APPTYPE CONSOLE}
{$R *.res}
uses
System.SysUtils,
System.Types,
FMX.Types;
procedure Main;
var
margins: TBounds;
begin
margins := TBounds.Create(TRectF.Empty);
try
margins.Left := 10;
margins.Right := 8;
Writeln(margins.Width:1:1);
// liefert -2
finally
margins.Free;
end;
end;
begin
try
Main;
except
on E:
Exception do
Writeln(E.ClassName, '
: ', E.
Message);
end;
Readln;
end.