EmJeiEn
EmJeiEn

Reputation: 1443

Flutter. Widgets above listview.builder to scroll along with other content?

I'd like to add an info box on top of the listview and instead of having it fixed, I'd like it to scroll along with the content while the page is scrolled down. Instead what I'm experiencing is that it stays always in fixed position no matter what I try to do.

My code:

return new Column(children: <Widget>[

                new Text('I want to be scrollable as well with other content as well'), // I want widget or widgets here to be part of the scroll instead of them being fixed.
                new Expanded(


                  child: ListView.builder(
                    itemBuilder: (BuildContext context, int index) {
                      return index >= state.posts.length
                          ? BottomLoader()
                          : PostWidget(post: state.posts[index]);
                    },
                    itemCount: state.hasReachedMax
                        ? state.posts.length
                        : state.posts.length + 1,
                    controller: _scrollController,
                  ),
                ),
              ]);

Is this possible to achieve?

Upvotes: 1

Views: 1949

Answers (1)

F Perroch
F Perroch

Reputation: 2235

I think you could return your Text widget or any other widget at the 0 position ?

return new Column(children: <Widget>[

                new Text('I want to be scrollable as well with other content as well'), // I want widget or widgets here to be part of the scroll instead of them being fixed.
                new Expanded(


                  child: ListView.builder(
                    itemBuilder: (BuildContext context, int index) {
                      if (index == 0) {
                        return Text('Your widget');
                      else { 
                        return index >= state.posts.length
                            ? BottomLoader()
                            : PostWidget(post: state.posts[index]);
                      }
                    },
                    itemCount: state.hasReachedMax
                        ? state.posts.length
                        : state.posts.length + 1,
                    controller: _scrollController,
                  ),
                ),
              ]);

Upvotes: 2

Related Questions