![fmxgrid | Embarcadero RAD Studio Delphi C++Builder Blogs](https://i0.wp.com/blogs.embarcadero.com/wp-content/uploads/2020/08/fmx_grid.jpg?resize=1140%2C628&ssl=1)
10.2.2之前
|
10.2.2版
|
procedure TVKListener.onVirtualKeyboardShown;
begin
TThread.Synchronize(nil, procedure
begin
FKeyboardService.SetState(TVirtualKeyboardAndroid.TvkbState.Shown);
FEvent.SetEvent;
end);
end;
|
procedure TVKListener.onVirtualKeyboardShown;
begin
WaitingForContentChanged(Self);
TThread.Synchronize(nil, procedure
begin
FKeyboardService.SetState(TVirtualKeyboardAndroid.TvkbState.Shown);
FEvent.SetEvent;
end);
end;
|
![](https://i0.wp.com/community.embarcadero.com/uploads/6149/20180131_1.jpg?resize=369%2C202&ssl=1)
TInteractiveGesture.DoubleTap:
begin
DoubleTapRecognizer := TUITapGestureRecognizer.Alloc;
DoubleTapRecognizer := TUITapGestureRecognizer.Wrap(DoubleTapRecognizer.initWithTarget(GetObjectID, sel_getUid(‘HandleDoubleTap:’)));
DoubleTapRecognizer.setNumberOfTapsRequired(2);
DoubleTapRecognizer.setDelegate(GetObjectID);
View.addGestureRecognizer(DoubleTapRecognizer);
DoubleTapRecognizer.release;
end;
procedure TFMXViewBase.HandleDoubleTap(gestureRecognizer: UITapGestureRecognizer);
var
TouchPoint: NSPoint;
begin
if gestureRecognizer.state = UIGestureRecognizerStateEnded then
begin
TouchPoint := CorrectLocationInView(gestureRecognizer, View, Form);
DblTap(TouchPoint.Y, TouchPoint.Y);
end;
end;
Design. Code. Compile. Deploy.
Start Free Trial Upgrade Today
Free Delphi Community Edition Free C++Builder Community Edition