Moin,
man nehme das Musterprojekt: "MultiviewDemo" und ergänze bzw. erweitere diese wie folgt:
a) Auf die erste Ebene in der Struktur fügt man ein
TScaledLayout
ein.
b) man füge diesen Code ein:
Delphi-Quellcode:
procedure FormGesture(Sender: TObject; const EventInfo: TGestureEventInfo;
var Handled: Boolean);
private
FLastDistance: Integer;
procedure handleZoom(eventInfo: TGestureEventInfo);
public
{ Public declarations }
end;
var
Form1: TForm1;
implementation
uses
FMX.MultiView.Presentations;
{$R *.fmx}
procedure TForm1.FormGesture(Sender: TObject;
const EventInfo: TGestureEventInfo; var Handled: Boolean);
begin
if EventInfo.GestureID = igiZoom then
handleZoom(EventInfo)
end;
procedure TForm1.handleZoom(eventInfo: TGestureEventInfo);
var
LObj: IControl;
faktor: integer;
begin
LObj := Self.ObjectAtPoint(ClientToScreen(EventInfo.Location));
if not(TInteractiveGestureFlag.gfBegin in EventInfo.Flags) then
begin
Faktor:= Round((FLastDIstance)/200); // Wie kann ich diese Werte überwachen???
if ScaledLayout1.Scale.X >= 1 then ScaledLayout1.Scale.X:= Faktor else ScaledLayout1.Scale.X:=1;
if ScaledLayout1.Scale.Y >= 1 then ScaledLayout1.Scale.Y:= Faktor else ScaledLayout1.Scale.Y:=1;
Label2.Text:=faktor.ToString;
end;
FLastDIstance := EventInfo.Distance;
end;
Jetzt die Frage: Wie überwache ich die Werte in der Zeile
Faktor:= Round((FLastDIstance)/200);
während ich das Projekt auf meinem Android-Tablet debugge?
Frage zwei: Wie macht man das Zoomen richtig?
Gruß Heiko