将Flutter ListView.Builder聚焦到最后一个图块

时间:2018-09-15 12:06:40

标签: dart flutter

在这种情况下,我有一个ListView.builder,每次调用该页面时,我打算自动对焦点进行listview或滚动到底部列表,这是我的代码:

return new ListView.builder(
        key: listViewKey,
        itemCount: chattile.length,

        itemBuilder: (context, index) {
          if (chattile.length > 0) {
            if (chattile[index].from_id == "SystemDate" || chattile[index].from_id == "System") {
              return new SystemDate(chattile: chattile[index]);
            } else {
              if (chattile[index].from_id ==
                  "5a91687811138e74009839c9") {
                return new SendChat(chattile: chattile[index]);
              } else {
                return new ReceiveChat(chattile: chattile[index]);
              }
            }
          } else {
            return new Padding(
              padding: new EdgeInsets.all(5.0),
              child: new Center(
                child: new Text('Tidak ada pesan.'),
              ),
            );
          }
        },
        controller: ScrollController( //this is assumed to be null
            initialScrollOffset: 10000.0,
//            initialScrollOffset: context.size.height
        ),
      );
  

是一个注释,我不使用reverse: true属性,因为它将   更改我的聊天列表的安排。

我搜索了各种资源,但没有得到正确的答案,有人可以帮助我解决这个问题吗?

1 个答案:

答案 0 :(得分:1)

您可以在animateTo(double offset, { Duration duration, Curve curve }) → Future<Null>中使用ScrollController方法。偏移量可以为context.size.height(Double.maximum可能有效)