사용자를 올바른 페이지로 안내하기 위해 사용자가 이미 로그인했는지 여부를 알 수 있도록 내부에 로직이 포함 된 스플래시 화면을 만들고 싶습니다.
Android와 iOS 스플래시 화면을 별도로 만들었지 만 당연히 내부에 로직이 없어서 사용자가 이전에 로그인했는지 여부를 알기 위해 다른 스플래시 화면을 만들었습니다. 문제는 작은 이상한 전환이 있다는 것입니다. 기본 스플래시 화면과 플러터 화면 사이에 전환을 피할 수있는 해결책이 있습니까? 아니면 SharedPreferences와 통신하는 기본 스플래시 화면 내부에 로직이 있습니까?
Flutter 물보라를 만들지 마십시오. Flutter 앱의 main
코드가 홈 또는 로그인 페이지를 표시하도록 결정하는 동안 네이티브 iOS / Android 스플래시가 화면을 채우도록 합니다. SharedPreferences
세션 토큰을 찾는 것이 전부라면 매우 빠른 프로세스 여야합니다 .
나는 오늘 바로이 문제를 다루는 다른 두 가지 질문에 답했습니다. 도움이 필요하다고 생각합니다 ...
https://stackoverflow.com/a/60121967/7034640
https://stackoverflow.com/a/60122485/7034640
최신 정보
Flutter 테스트 앱을 만들었습니다.
Android 스플래시 화면을 빨간색으로 설정했습니다.
의 내용을 main.dart
다음과 같이 변경했습니다 .
import 'package:flutter/material.dart';
void main() async {
await Future.delayed(Duration(seconds: 5));
runApp(MyApp());
}
class MyApp extends StatelessWidget {
@override
Widget build(final BuildContext context) {
return MaterialApp(
title: 'Splash Demo',
theme: ThemeData(primarySwatch: Colors.blue),
home: MyHomePage(),
);
}
}
class MyHomePage extends StatelessWidget {
@override
Widget build(final BuildContext context) {
return Scaffold(
appBar: AppBar(title: const Text("My Home Page")),
body: Center(child: const Text("My Home Page")),
);
}
}
.NET을 사용하여 Android 기기에서 앱을 실행했습니다 flutter run --release
.
약 0.5 초 동안 빨간색 화면이 표시되고 5 초 동안 검은 색 화면이 표시되고 마지막으로 홈 화면이 표시됩니다.
흠. 빨간색 화면이 약 5.5 초 동안 표시된 다음 홈 화면이 표시 될 것으로 예상했습니다. 나는 검은 화면이 나타날 것이라고 기대하지 않았다.
이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.
침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제
몇 마디 만하겠습니다