как я могу прокрутить представление списка в нижней части флаттера - PullRequest
0 голосов
/ 26 апреля 2020

У меня есть приложение флаттера, содержащее конструктор представления списка (страницу чата). Мне нужно прокрутить страницу до конца страницы до последнего сообщения?

1 Ответ

0 голосов
/ 26 апреля 2020

Вам нужно будет создать scrollController, передать его в ListView и запустить код, подобный следующему:

class SampleList extends StatefulWidget {
  @override
  _SampleListState createState() => _SampleListState();
}

class _SampleListState extends State<SampleList> {
  ScrollController _scrollController;
  @override
  Widget build(BuildContext context) {
    return ListView.builder(
      controller: _scrollController,
      itemBuilder: (_, index) => ListTile(
        title: Text(
          index.toString(),
        ),
      ),
    );
  }

  void scrollToBottom() {
    final bottomOffset = _scrollController.position.maxScrollExtent;
    _scrollController.animateTo(
      bottomOffset,
      duration: Duration(milliseconds: 1000),
      curve: Curves.easeInOut,
    );
  }

  @override
  void initState() {
    _scrollController = ScrollController();
    super.initState();
  }

  @override
  void dispose() {
    _scrollController.dispose();
    super.dispose();
  }
}
...