Ad

Flutter AnimatedContainer On ListView Inside FutureBuilder Doens't Work

- 1 answer

I'm trying to change the size on hover. The future build is a function on initstate. I'm building an WebProject, and on hover anything change

My widget tree:

FutureBuilder<List<Repo>>(
      future: receberDados,
      builder: (context, snap) {
        if (snap.connectionState == ConnectionState.done) {
          var repos = snap.data;
          return Container(
            height: 350,
            child: ListView.builder(
                scrollDirection: Axis.horizontal,
                itemCount: repos!.length,
                itemBuilder: (context, i) {
                  var hover = true;
                  return MouseRegion(
                    onEnter: (mouse) {
                      setState(() {
                        hover = true;
                      });
                      print(hover);
                    },
                    onExit: (mouse) {
                      setState(() {
                        hover = false;
                      });
                      print(hover);
                    },
                    child: AnimatedContainer(
                      duration: Duration(seconds: 1),
                      curve: Curves.bounceIn,
                      height: hover ? 320 : 300,
                      width: hover ? 470 : 450,
                      margin: EdgeInsets.all(5),
                      decoration: BoxDecoration(
                          color: hover ? Colors.red : Colors.black,
                          border: Border.all(
                            color: Colors.white70,
                          ),
                          borderRadius: BorderRadius.circular(20)),
                      padding: EdgeInsets.all(10),
                      child:

Is my first time with web Develop with Flutter. Need something extra?

Ad

Answer

Try using a StatefulBuilder wrapping your AnimatedContainer, it seems that the hover variable it's not updating your AnimatedContainer. Something Like this :

child: StatefulBuilder(
       builder: (BuildContext context, StateSetter setState) {
       return AnimatedContainer(
                  duration: Duration(seconds: 1),
                  curve: Curves.bounceIn,
                  height: hover ? 320 : 300,
                  width: hover ? 470 : 450,
                  margin: EdgeInsets.all(5),
                  decoration:

Hope i could be of any help :)

I suggest you edit your question with the full code of FutureBuilder<List<Repo>> for better understanding of your code.

Ad
source: stackoverflow.com
Ad