listview onTap анимация всех кнопок вопроса: флаттер - PullRequest
0 голосов
/ 21 января 2020

GestureDetector при просмотре списка, анимирующий все виджеты в просмотре списка, как мне это остановить. У меня есть Transform.scale для элемента списка, когда я касаюсь виджета только тот виджет, который должен анимироваться, но здесь все остальные элементы просмотра списка анимируются.

Widget buildItemCoupens(BuildContext context,int index) {
return Padding(
  padding: const EdgeInsets.only(top: 10),
  child: Container(
    height: 250,
    child: Stack(
      children: <Widget>[

        Positioned(
          bottom: -25,
          right: 50,
          left: 50,
          top: 175,
          child: GestureDetector(
            onTapDown: _onTapDown,
            onTapCancel: onTapCancel,
            onTapUp: _onTapUp,
            onTap: () {
              setState(() {
                print('$index');
              });
            },
            child:_animatedBtn
          ),
        )
      ],
    ),
  ),
);
}

анимированная кнопка / виджет

Widget get _animatedBtn=>
Transform.scale(
  scale: _scale,
  child: Container(
    //height: 75,

    margin: const EdgeInsets.only(
        left: 15, right: 15, top: 5, bottom: 45),
    decoration: BoxDecoration(
        color: Colors.red,
        shape: BoxShape.rectangle,
        borderRadius: new BorderRadius.only(
            topLeft: const Radius.circular(15.0),
            bottomLeft: const Radius.circular(15.0),
            bottomRight: const Radius.circular(15.0),
            topRight: const Radius.circular(15.0)),
        boxShadow: [
          new BoxShadow(
            color: Colors.black38,
            blurRadius: 15,
          ),
        ]),
    child: Center(
        child: Padding(
          padding: const EdgeInsets.all(5),
          child: Text(
            'JOIN NOW',
            style: TextStyle(fontSize: 18, color: Colors.white),
          ),
        )),
  ),
);
...