【问题标题】:How to avoid displaying CircularProgressIndicator after my splash screen in Flutter?如何避免在 Flutter 中的启动画面后显示 CircularProgressIndicator?
【发布时间】:2022-07-21 18:50:33
【问题描述】:

我的循环进度指示器有问题。 我已将循环进度指示器添加为我未来构建器代码的默认值。 所以,一旦我的启动画面来来去去,圆形进度指示器就会出现。这是我不想要的。 有人可以帮帮我吗。 代码:

import 'package:flutter/material.dart';
import 'package:secure_pass/constants/routes.dart';
import 'package:secure_pass/services/auth/auth_service.dart';
import 'package:secure_pass/views/login_view.dart';
import 'package:secure_pass/views/passwords/create_update_password_view.dart';
import 'package:secure_pass/views/passwords/password_generator_view.dart';
import 'package:secure_pass/views/passwords/passwords_view.dart';
import 'package:secure_pass/views/register_view.dart';
import 'package:secure_pass/views/settings/settings_view.dart';
import 'package:secure_pass/views/verify_email_view.dart';
import 'package:flutter/services.dart';
 
void main() {
  WidgetsFlutterBinding.ensureInitialized();
  runApp(
    MaterialApp(
      title: 'Flutter Demo',
      debugShowCheckedModeBanner: false,
      theme: ThemeData(
        primarySwatch: Colors.blue,
        scaffoldBackgroundColor: Colors.grey[300],
      ),
      home: const HomePage(),
      routes: {
        loginRoute: (context) => const LoginView(),
        registerRoute: (context) => const RegisterView(),
        passwordsRoute: (context) => const PasswordsView(),
        verifyEmailRoute: (context) => const VerifyEmailView(),
        createOrUpdatePasswordRoute: (context) => const CreateUpdatePasswordView(),
        passwordGeneratorRoute : (context) => const PasswordGeneratorView(),
        settingsRoute : (context) => const SettingsView(),
      },
    ),
  );
}

class HomePage extends StatelessWidget {
  const HomePage({Key? key}) : super(key: key);

  @override
  Widget build(BuildContext context) {

    SystemChrome.setSystemUIOverlayStyle(const SystemUiOverlayStyle(
      statusBarColor: Colors.transparent,
      systemNavigationBarColor: Colors.transparent,
    ));

    return FutureBuilder(
      future: AuthService.firebase().initialize(),
      builder: (context, snapshot) {
        switch (snapshot.connectionState) {
          case ConnectionState.done:
            final user = AuthService.firebase().currentUser;
            if (user != null) {
              if (user.isEmailVerified) {
                return const PasswordsView();
              } else {
                return const VerifyEmailView();
              }
            } else {
              return const LoginView();
            }
          default:
            return const CircularProgressIndicator();
        }
      },
    );
  }
}

【问题讨论】:

  • 您可以显示应用程序日志或代替 CircularProgressIndicator 的内容。目前的方法对我来说似乎更好,

标签: flutter dart


【解决方案1】:

使用 (return const SizedBox.shrink();) 代替 (return const CircularProgressIndicator();)

【讨论】:

  • 如果正确请标记..tnks
猜你喜欢
  • 2018-10-18
  • 2020-08-26
  • 2021-12-21
  • 2019-07-08
  • 1970-01-01
  • 2023-03-27
  • 2013-02-02
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多