Я пытаюсь реализовать плагин Flutter Getx и сделал заставку, подобную этой:
class SplashScreen extends StatelessWidget {
const SplashScreen({Key key}) : super(key: key);
@override
Widget build(BuildContext context) {
return GetBuilder(
init: SplashController(),
builder: (_) => Scaffold(
body: Center(
child: CircularProgressIndicator(),
),
)
);
}
}
Затем я написал всплескконтроллер, подобный этому:
class SplashController extends GetxController {
@override
void onReady() {
// TODO: implement onReady
super.onReady();
myFunctionCalculations();
final Controller _controller = Get.put(controller());
List items = _controller.items;
if (items > 0) {
Get.off(OnePlayerScreen());
}
}
}
Теперь с моего домашнего экрана я нажимаю кнопку, чтобы перейти к этой заставке. Больше ничего не делает только
onPressed: () {
Get.to(SplashScreen());
}
Дело в том, что я хочу показать круговой индикатор, пока моя функция работает, и когда она заполняет элементы списка, чтобы перейти на экран элементов, но когда я нажимаю кнопку, чтобы получить заставку, проходит некоторое время, пока не появится заставка а затем сразу же переходит на экран «Элементы», потому что тем временем он заполнил список. Когда я не инициализирую функцию, она сразу же попадает на заставку, и я вижу индикатор.
Почему я получаю эту функциональность? Я думал, что он должен показывать индикатор загрузки и тем временем заполнять список. Но кажется, что когда я нажимаю кнопку на главном экране, функция инициализируется, и когда она не появляется, появляется заставка. Что я делаю не так?