Как проверить, проводил ли пользователь пальцем влево или вправо? - PullRequest
0 голосов
/ 09 июня 2018

Используя детектор жестов, я могу получить любое горизонтальное перетаскивание (onHorizontDragStart) от пользователя, однако возможно ли получить фактическое направление?

1 Ответ

0 голосов
/ 09 июня 2018

Для этого есть виджет Dismissible.Это довольно настраиваемо.

enter image description here

Примечание: если вы не хотите предоставлять визуальную обратную связь по смахиванию, вы можете использовать Stack поставить прозрачный Dismissible поверх другого виджета.

import 'package:flutter/material.dart';
void main() {
  runApp(new MyApp());
}

class MyApp extends StatelessWidget {
  @override
  Widget build(BuildContext context) {
    return new MaterialApp(
      home: new MyHomePage(),
    );
  }
}

class MyHomePage extends StatefulWidget {
  State createState() => new MyHomePageState();
}

class MyHomePageState extends State<MyHomePage> {
  int _counter = 0;

  @override
  Widget build(BuildContext context) {
    return new Scaffold(
      body: new Dismissible(
        resizeDuration: null,
        onDismissed: (DismissDirection direction) {
          setState(() {
            _counter += direction == DismissDirection.endToStart ? 1 : -1;
          });
        },
        key: new ValueKey(_counter),
        child: new Center(
          child: new Text(
            '$_counter',
            style: Theme.of(context).textTheme.display4,
          ),
        ),
      ),
    );
  }
}

Из ответа Коллина Джексона

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...