Я пытаюсь использовать пакет SpinKit во флаттере, но загрузчик спина не появляется - PullRequest
0 голосов
/ 04 августа 2020

Я использовал пакет Spinkit, чтобы просто улучшить взаимодействие с пользователем, но я не могу увидеть эффект.

Под зависимостями

flutter_spinkit: ^4.1.2+1

Новый файл дротика Loading.dart

    return Container(
      color: Colors.brown[100],
      child: Center(
        child: SpinKitChasingDots(
          color: Colors.brown,
          size: 50.0,
        ),

Файл SingIn.dart, в котором я хочу использовать spinkit

Здесь я хочу показать, что загрузчик spinkit верен, иначе scaffold

  bool load = false;

 
  @override
  Widget build(BuildContext context) {
    return load ? Loading() : Scaffold(
      appBar: AppBar(
        title: Text("Sign In") ,
        backgroundColor: Colors.brown,
        actions: <Widget>[
          FlatButton.icon(onPressed: (){ widget.toggleView();}, icon: Icon(Icons.person), label: Text("Register"))
        ],
      ),
      

Здесь я хочу показывать загрузчик вращения, когда приложение проверяет правильность, и если проверка прошла успешно, он показывает загрузчик во время перенаправления на следующую страницу

                if(_formKey.currentState.validate()){
                  load = true;
                  dynamic result = await _auth.signInWithEmailAndPassword(email.trim(), password);
                  if(result == null){
                    setState(() {
                      error = 'Please enter a valid email';
                      load = false;
                    }                      
                    );
                  }
              

1 Ответ

0 голосов
/ 04 августа 2020

Поместите load = true в setState ()

    if(_formKey.currentState.validate()){
                      setState((){
                  load = true;                             
                   })
                      
                      dynamic result = await _auth.signInWithEmailAndPassword(email.trim(), password);
                      if(result == null){
                        setState(() {
                          error = 'Please enter a valid email';
                          load = false;
                        }                      
                        );
                      }
...