Загрузка рекламы асинхронно - PullRequest
0 голосов
/ 22 октября 2019

Я хочу загрузить объявление на свой экран, и я получил объявление, как и ожидалось, но проблема в том, что из-за этого мое приложение замедляется , поскольку загружается много элементов.

  • Я хочу загрузить объявления асинхронно, как и другие элементы, в первую очередь, затем объявления. Я вставил свой код ниже, я поместил объявление в контейнер

    static  Widget cinemaView(AsyncSnapshot<List<CinemaModel>> snapshot) {
    return Column(
       children: <Widget>[
       Expanded(
        child: Container(
        child: ListView.builder(
            shrinkWrap: true,
            itemCount: snapshot.data.length,
            itemBuilder: (BuildContext context, int index) {
              return GestureDetector(
                onTap: () {
                  Navigator.push(
                      context,
                      new MaterialPageRoute(
                          builder: (context) =>
                              CinemaNewsDetails(id: snapshot.data[index].id)));
                },
                child: Card(
                  elevation: 2.0,
                  child: Column(
                    crossAxisAlignment: CrossAxisAlignment.stretch,
                    children: <Widget>[
                      Stack(
                        children: <Widget>[
                          Row(
                            children: <Widget>[
                              new Column(
                                children: <Widget>[
                                  Padding(
                                    padding:
                                        EdgeInsets.only(top: 4.0, bottom: 4.0),
                                    child: Padding(
                                      padding: const EdgeInsets.all(4.0),
                                      child: snapshot.data[index].image.isNotEmpty
                                          ? Image.network(
                                              snapshot.data[index].image,
                                              fit: BoxFit.cover,
                                              height: MediaQuery.of(context)
                                                      .size
                                                      .height /
                                                  8,
                                              width: MediaQuery.of(context)
                                                      .size
                                                      .width /
                                                  4,
                                            )
                                          : Image.network(
                                              'https://lh3.googleusercontent.com/zUofRpElgAioazdFZyPTybX3JKFmuBGS0Z0gPR6xuVm3V9f3xGmpUsdTWzNujJWWc5yq',
                                              fit: BoxFit.cover,
                                            ),
                                    ),
                                  )
                                ],
                              ),
                              Expanded(
                                  child: Column(
                                children: <Widget>[
                                  Align(
                                    alignment: Alignment.topLeft,
                                    child: Padding(
                                      padding: const EdgeInsets.only(left: 8.0),
                                      child: Text(snapshot.data[index].title,
                                          overflow: TextOverflow.ellipsis,
                                          maxLines: 3,
                                          style: TextStyle(
                                              fontWeight: FontWeight.w600)),
                                    ),
                                  ),
                                  Align(
                                    alignment: Alignment.centerLeft,
                                    child: Padding(
                                      padding: const EdgeInsets.only(
                                          top: 5.0, left: 8.0),
    
                                      child: Text(dateEngine(
                                          snapshot.data[index].publishdate)),
                                    ),
                                  ),
                                ],
                              ))
                            ],
                          ),
                        ],
                      ),
                    ],
                  ),
                ),
              );
            }),
      ),
    ),
    StreamBuilder<Object>(
      stream: null,
      builder: (context, snapshot) {
        return
    
    
         Container(
          child:  AdmobBanner(
            adSize: AdmobBannerSize.FULL_BANNER,
            adUnitId: unitId,
          ),
        );
      }
    ),
    ],
    );
    }
    

Любая помощь будет оценена

...