我想在FireMonkey多设备应用程序中对TListView
的项使用“ LongTap”和“ PressAndTap”手势,我将OnGesture
事件设置为{ {1}}如下:
ListView
但是当我在Android设备上对其进行测试时,begin
case EventInfo.GestureID of
igiPressAndTap : begin
{...}
end;
igiLongTap : begin
{...}
end;
end;
Handled := True;
end;
事件没有发生
我已经在OnGesture
属性上检查了想要的手势
我已经测试过有无InteractiveGestures
如何为Listview的项目设置OnGesture?
对于GestureManager
类型,没有像OnGesture
这样的事件
我正在使用Delphi 10.2.3 Tokyo
答案 0 :(得分:2)
我按照Tom提供的link中的说明测试了一个应用程序,您需要在Object Inspector的Touch属性内设置所需的手势。
在OnGesture事件中,代码仅检查GestureID是否是我要执行的Gesture。
procedure TfrmMain.listProdtsRotaGesture(Sender: TObject;
const EventInfo: TGestureEventInfo; var Handled: Boolean);
begin
case EventInfo.GestureID of
igiLongTap:
ShowMessage('longTap: ' + listProdtsRota.Selected.Index.ToString);
igiPressAndTap:
ShowMessage('pressAndTap: ' + listProdtsRota.Selected.Index.ToString);
igiDoubleTap:
ShowMessage('doubleTap: ' + listProdtsRota.Selected.Index.ToString);
end;
end;