我想对FireMonkey多设备应用程序中TListView
的项目使用“ LongTap”和“ PressAndTap”手势,我将OnGesture
事件设置为ListView
,如下所示:
begin
case EventInfo.GestureID of
igiPressAndTap : begin
{...}
end;
igiLongTap : begin
{...}
end;
end;
Handled := True;
end;
但是当我在Android设备上对其进行测试时,不会发生
OnGesture
事件我已经在
InteractiveGestures
属性上检查了所需的手势我已经测试过是否带有
GestureManager
如何为Listview的项目设置OnGesture?
对于
OnGesture
类型,没有类似TListViewItem
的任何事件我正在使用Delphi 10.2.3 Tokyo
最佳答案
我按照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;