Как исправить положение любого виджета исправить на верхней друинг прокрутки во флаттере - PullRequest
0 голосов
/ 09 апреля 2020

** Вот мой код. Мне нужен заголовок sliverpresistantheader, который при прокрутке фиксируется, а заголовок новостей должен быть сверху. Я хочу, чтобы мой контейнер был зафиксирован сверху при прокрутке под панелью приложения ленты. Я хочу, чтобы исправление было исправлено. до некоторой длины введите описание изображения здесь Это ошибка, которую я получаю (https://drive.google.com/file/d/1CPGLHDcwuRJtgQSTODCvdAE8e3hkiDAE/view)

**

 return Scaffold(
        body: loading ? Center(
          child: Container(
            child: CircularProgressIndicator(),
          ),
        )
            : SafeArea(
            child: PageView.builder(
              itemCount: newsList.length,
              itemBuilder: (context,index){
                return(Container(
                  child: CustomScrollView(
                    slivers: <Widget>[
                      SliverAppBar(
                        pinned: true,
                        snap: true,
                        backgroundColor: Colors.red,
                        floating: true,
                        expandedHeight: 350,
                        flexibleSpace: FlexibleSpaceBar(
                          background: Image.network(newsList[index].urlToImage,fit: BoxFit.fill,),
                          title: Text(this.category.toUpperCase(),style: TextStyle(color: Colors.white),),
                        ),
                      ),
                      SliverPersistentHeader(
                        pinned: true,
                        floating: false,
                        delegate: CustomSliverPersistentHeader(child:Container(
                          height: 200,
                          child:Text(newsList[index].title,style: TextStyle(fontSize: 35,fontWeight: FontWeight.w500),),

                        )),
                      ),
                      SliverFillRemaining(
                          child:Container(
                            //color: Colors.red,
                            child: Column(
                              children: <Widget>[
                                Text(newsList[index].title),
                                SizedBox(
                                  height: 20,
                                ),
                                Text(newsList[index].description)
                              ],
                            ),
                          )
                      )
                    ],
                  ),
                )                    );
              }
            ),
        )
    );
  }
}


class CustomSliverPersistentHeader extends SliverPersistentHeaderDelegate{
  final Widget child;

    enter code here

  CustomSliverPersistentHeader({this.child});
  @override



  Widget build(BuildContext context, double shrinkOffset, bool overlapsContent) {
    return this.child;
  }

  @override
  // TODO: implement maxExtent
  double get maxExtent => 200;

  @override
  // TODO: implement minExtent
  double get minExtent => 200;

  @override
  bool shouldRebuild(SliverPersistentHeaderDelegate oldDelegate) {
    // TODO: implement shouldRebuild
    return true;
  }


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