Изменение значения флаттера с помощью GestureDetector, проведите пальцем вправо или влево - PullRequest
1 голос
/ 24 апреля 2020

в приложении флаттера. Я простая переменная как currentValue, и значение этой переменной должно быть между 0.0 и 1, жестом и проведением вправо или влево я хочу изменить это значение на currentValue

* Необходимо добавить 1006 * пролистывание вправо, а пролистывание влево - минус, учитывая последнее значение переменной, например,
swipe to right => 0.0, 0.1, 0.2, 0.3, 0.4 ...


swipe to left  => 0.5, 0.4, 0.3, 0.2, 0.1 ...

1 Ответ

1 голос
/ 24 апреля 2020
class MyClass extends StatefulWidget {
  @override
  _MyClassState createState() => _MyClassState();
}

class _MyClassState extends State<MyClass> {
  double value ;
  @override
  void initState() {
    value = 0.0;
    super.initState();
  }
  @override
  Widget build(BuildContext context) {
    return Scaffold(
      body: Column(
        children: <Widget>[
          Expanded(child: Text('value = $value')),
          Expanded(
            child: Container(
              color: Colors.red,
              child: GestureDetector(
                onPanUpdate:(DragUpdateDetails details){
                  if(details.delta.dx>0){
                    print('right swipe');
                    //right scroll
                    //increment counter
                    setState(() {
                      value+=0.1;
                    });
                  }
                  else if(details.delta.dx<0){
                    print('left swipe');
                    //left scroll
                    //decrement counter
                    setState(() {
                      value-=0.1;
                    });
                  }
                },
              ),
            ),
          )
        ],
      ),
    );
  }
}

{ ссылка }

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