title: Flutter tween basic animation is not working inside `FutureBuilder`
body: <p>Flutter tween basic animation is not working inside <code>FutureBuilder</code></p>
  
  <p>I have created a image gallery page using gridview.builder , but the animation doesnt works inside <code>futurebuilder</code> for some reason. I tried same animation on an static image directly inside the container of the body and it worked perfectly fine.Need some way to animate network images inside futurebuilder.</p>
  
  <pre><code>class _GalleryGridState extends State&lt;GalleryGrid&gt;
      with TickerProviderStateMixin {
    AnimationController _controller;
    Animation _squeezeOutAnimation, transformationAnim;
  
    List&lt;GalleryModel&gt; lists = List();
  
    Future&lt;List&lt;GalleryModel&gt;&gt; fetchPost() async {
      final response =
          await http.get("https://jsonplaceholder.typicode.com/photos");
      if (response.statusCode == 200) {
        var datas = json.decode(response.body);
        lists = (datas as List)
            .map((data) =&gt; new GalleryModel.fromJson(data))
            .toList();
        return lists;
      } else {
         throw Exception("Failed to load photos");
      }
    }
  
    @override
    void initState() {
      super.initState();
      _controller =
          AnimationController(duration: Duration(seconds: 3), vsync: this);
      transformationAnim = BorderRadiusTween(
              begin: BorderRadius.circular(150.0),
              end: BorderRadius.circular(0.0))
          .animate(CurvedAnimation(parent: _controller, curve: Curves.ease));
      _squeezeOutAnimation = Tween&lt;double&gt;(begin: 150.0, end: 1000.0)
          .animate(CurvedAnimation(parent: _controller, curve: Curves.ease));
    }
  
    @override
    void dispose() {
      super.dispose();
      _controller.dispose();
    }
  
    @override
    Widget build(BuildContext context) {
      return FutureBuilder(
        future: fetchPost(),
        builder: (context, data) {
  
          switch (data.connectionState) {
            case ConnectionState.waiting:
              return Center(child: CircularProgressIndicator());
            default:
              return GridView.builder(
                gridDelegate:
                    SliverGridDelegateWithFixedCrossAxisCount(crossAxisCount: 2),
                itemCount: lists.length,
                itemBuilder: (BuildContext context, int index) {
                  return Stack(
                    children: &lt;Widget&gt;[
                      Container(
                        child: Card(
                          shape: BeveledRectangleBorder(
                              borderRadius: transformationAnim.value),
                          elevation: 10.0,
                          child: GestureDetector(
                            onTap: () {
                              _controller.forward();
                            },
                            child: Container(
                              width: _squeezeOutAnimation.value,
                              height: _squeezeOutAnimation.value,
                              child: Image.network(
                                lists[index].thumbnailUrl,
                                fit: BoxFit.fill,
                                width: _squeezeOutAnimation.value,
                              ),
                            ),
                          ),
                        ),
                      ),
              ])
  </code></pre>