Flutter - GestureDetector определяет направление горизонтального и вертикального перетаскивания

Возникает вопрос: действительно ли вам нужно создать канал с точным типом контракта в вашем конкретном случае?

Поскольку вы выполняете маршрутизацию, есть очень хороший шанс, что вы можете просто справиться с общие формы каналов. Например, если вы маршрутизируете одностороннее сообщение, тогда вы можете создать канал для отправки сообщения следующим образом:

ChannelFactory<IOutputChannel> factory = new ChannelFactory<IOutputChannel>(binding, endpoint);
IOutputChannel channel = factory.CreateChannel();
...
channel.SendMessage(myRawMessage);

Если вам нужно отправить двустороннюю услугу , вместо этого используйте IRequestChannel.

Если вы выполняете маршрутизацию, проще всего просто иметь дело с родовыми формами каналов (с общим договором на весь контракт с внешним сервисом) и просто убедитесь, что сообщение, которое вы отправляете, имеет все правильные заголовки и свойства.

3
задан Volleyball 17 January 2019 в 15:09
поделиться

1 ответ

Вы пробовали onPanUpdate(details) метод? Вот как вы можете это сделать.

GestureDetector(onPanUpdate: (details) {
  if (details.delta.dx > 0)
    print("Dragging in +X direction");
  else
    print("Dragging in -X direction");

  if (details.delta.dy > 0)
    print("Dragging in +Y direction");
  else
    print("Dragging in -Y direction");
});

Примечание. Этот обратный вызов вызывает сбой, если onHorizontalDragUpdate() или onVerticalDragUpdate() установлены, как указано в anmol.majhail.

0
ответ дан CopsOnRoad 17 January 2019 в 15:09
поделиться