手势不适用于Android上的ListView项目

时间:2018-09-20 21:04:30

标签: android listview delphi firemonkey gesture

我想在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

1 个答案:

答案 0 :(得分:2)

我按照Tom提供的link中的说明测试了一个应用程序,您需要在Object Inspector的Touch属性内设置所需的手势。

enter image description here

在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;