Флаттер: есть ли способ узнать, когда загружен построитель списка? - PullRequest
0 голосов
/ 23 апреля 2020

Я новичок во флаттере и не совсем уверен в поведении построителя списка, я делаю экран, на котором есть построитель списка с несколькими карточками, каждая из которых имеет различную информацию и фоновое изображение. Моя проблема в том, что когда приложение запускается в первый раз, загрузка или сборка карт с их активами занимает, может быть, 0.5se c, и пользователь тем временем видит карты на белом фоне (они короткие, но все-таки некрасивые) , Я попытался использовать логическое значение true в начале, показать контейнер с круглым индикатором прогресса, после задержки 0,5 установить логическое значение false и затем изменить для просмотра списка. Это не сработало, так как просмотр списка загружается при его вызове, поэтому я не знаю, что я могу сделать, чтобы решить эту проблему.

Это то, что я пытался

void initState(){
    Future.delayed(const Duration(milliseconds: 500), () {
      setState(() {
        loading = false;
      });
    });
  }


Widget build(BuildContext context) {
    return loading ? circleLoading() : Scaffold(
...

1 Ответ

1 голос
/ 23 апреля 2020
 FutureBuilder(
              future: //API CALL,
              initialData: [],
              builder: (context, snapshot) {
                if (!snapshot.hasData || snapshot.data.isEmpty) 
                    return Center(child: CircularProgressIndicator());  //CIRCULAR INDICATOR
                else
                    return createTasksListView(context, snapshot);
              }),
        ),
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...