Das war ein blöder Fehler und ich glaub ich hab den damals auch gefixt und Graham geschickt. Da gibt es eine Funktion GetScreenscale und irgendwo hat er da gerundet und das darf man nicht. Einige Androide haben ein Scalefactor von 2.5 oder so und bei round gibts hässlichen Mischmasch.
Mich dünkt es war nur GetScreenScale, aber das ganze ist jetzt 2 Jahre her und deswegen bin ich mir nicht mehr so ganz sicher:
Delphi-Quellcode:
function GetScreenScale: single;
var
Service: IFMXScreenService;
begin
if AScreenScale > 0 then
begin
Result := AScreenScale;
Exit;
end;
Service := IFMXScreenService(TPlatformServices.Current.GetPlatformService
(IFMXScreenService));
Result := Service.GetScreenScale;
{$IFDEF IOS}
if Result < 2 then
Result := 2;
{$ENDIF}
AScreenScale := Result;
end;
Christian