如何检查用户是向左还是向右滑动?

时间:2018-06-09 15:01:57

标签: flutter

使用手势检测器,我可以从用户获得任何水平拖动(onHorizo​​ntalDragStart),但是有可能获得实际方向吗?

1 个答案:

答案 0 :(得分:1)

这是可以容许的小部件。它非常易于配置。

enter image description here

注意:如果您不想在滑动时提供视觉反馈,则可以使用堆栈将透明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,
          ),
        ),
      ),
    );
  }
}

来自科林杰克逊的回答