OnPressed не работает внутри виджета Stack после преобразования виджета - PullRequest
0 голосов
/ 29 ноября 2018

В данном коде onPressed на поднятой кнопке работает и переводит FlatButton наверх.Но onPressed на FlatButton не работает

@override
  Widget build(BuildContext context) {
    return Stack(
      children: <Widget>[
        Transform(
          transform: Matrix4.translationValues(
            0.0,
            _translateButton.value,
            0.0,
          ),
          child: FlatButton(
            onPressed: () {
              print('tapped Flat button');
            },
            child: Text('upper'),
          ),
        ),
          RaisedButton(
            onPressed: () {
              animate();
              print('tapped Raised button');
            },
            child: Text('lower'))
      ],
    );
  }

Здесь значение _translatebutton изменяется с 0 на -60, когда animate () вызывается

 _animationController = AnimationController(vsync: this, duration: Duration(milliseconds: 500))
      ..addListener(() {
        setState(() {});
      });
    _translateButton = Tween<double>(
      begin: 0,
      end: -60,
    ).animate(CurvedAnimation(
      parent: _animationController,
      curve: Interval(
        0.0,
        0.75,
        curve: _curve,
      ),
    ));

1 Ответ

0 голосов
/ 23 августа 2019

Оберните виджет Transform в SizedBox (в зависимости от ваших требований, в зависимости от ваших требований.

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