Skip to content

Scrollbar length calculated incorrectly when different widgets inside ListView #25

Open
@isorensen

Description

@isorensen

Summary

I have a ListView.builder with two widgets as children. One of them is a Widget RichText that has many TextSpan children inside. The other is just a RaisedButton.

Expected

I hoped that the Scrollbar length would be dragged through the whole list.

What actually happens

Around the middle of the scrollbar length, the list already reaches the end.

Code

DraggableScrollbar.semicircle(
                              controller: _scrollController,
                              child: ListView.builder(
                                controller: _scrollController,
                                itemCount: _listWidgets.length,
                                itemBuilder: (context, index) {
                                  return _listWidgets[index];
                                },
                              ),
                            ),
List<Widget> listWidgets(CcbDataPreview ccbDataPreview) {
    List<Widget> _list = [];
    CcbData _ccbData = CcbData(
      ccbDataPreview: ccbDataPreview,
      invertTextColors: true,
    );
    _list.add(_ccbData.clausesAndParagraphs);
    _list.add(cancelCcbButton());
    return _list;
  }

cancelCcbButton is just an implementation of a RaisedButton.

Screenshots

At this point, the list is already at its end, but scrollbar in the middle.
image

As you can see, it's the same screen, and now the scroll was just dragged to the end, without any movement in the screen.
image

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions