Flutter: автоматическая прокрутка вниз, когда открывается экран - PullRequest
0 голосов
/ 27 июня 2018

Я использую onpressed () для прокрутки вниз до конца списка, но я хочу достичь этого , не нажимая кнопку,

Он должен автоматически прокручиваться при каждом открытии экрана. Я пытался поместить его в initState () не работает , но если я нажму на кнопку, то войдёт

Как сделать автопрокрутку?

Рабочий код:

 floatingActionButton: new FloatingActionButton(child: 
 Icon(Icons.arrow_downward),onPressed:_hola,)



_hola(){
  print("inti state started successfully");
controller1.animateTo(
controller1.position.maxScrollExtent,
  duration: const Duration(milliseconds: 10),
   curve: Curves.easeOut,);
}

Нерабочий код: // Этот код печатается успешно, но на самом деле не вызывает функцию

class HomeState extends State<MyNewMessages> {
  @override
  void initState() 
{
 super.initState();
  print("hola is scrolling");
  _hola;
}
);
}

Перед нажатием плавающей кнопки Before Pressing Floating Button после нажатия плавающей кнопки After Pressing Floating Button

1 Ответ

0 голосов
/ 27 июня 2018

При создании ListView или добавлении элемента (не уверен, как вы это делаете), используйте SchedulerBinding.instance.addPostFrameCallback, чтобы изменить позицию прокрутки в следующем кадре.

SchedulerBinding.instance.addPostFrameCallback((_) {
  controller1.animateTo(
    controller1.position.maxScrollExtent,
    duration: const Duration(milliseconds: 10),
    curve: Curves.easeOut,);
  });
}
...