Я пишу очень простое приложение для чтения общедоступных книг. Я включил файл .txt, содержащий книгу, в ресурсы моего приложения. Так как книга довольно длинная и требует много времени для загрузки, я пытался использовать FutureBuilder, который будет отображать круговой индикатор прогресса во время загрузки книги, однако, когда я нажимаю на кнопку, чтобы открыть книгу, приложение зависает, пока книга загружается вместо перехода на страницу книги и показывает индикатор прогресса во время загрузки книги, как мне хотелось бы.
Я проверил это для меньшего файла, и он не завис. Я попытался просто сказать FutureBuilder, чтобы он показывал индикатор прогресса, и снова он не завис.
FutureBuilder(
future: text, //Future<String>
builder: (context,snapshot) {
if (snapshot.connectionState==ConnectionState.done) {
return Text(
snapshot.data,
style: TextStyle(fontSize: 20),);
}
else {
return CircularProgressIndicator();
}
},
)
Похоже, что FutureBuilder просто пытается построить с текстом, а не без него, и добавляет его позже, как и положено. Как мне сказать это сделать?