Как вы знаете, некоторые приложения имеют заставку. Я изучил создание заставки с нативными кодами на Flutter.
Например: android/app/src/main/res/drawable/launch_background.xml
<?xml version = "1.0" encoding = "utf-8"?>
<!-- Modify this file to customize your launch splash screen -->
<layer-list xmlns:android = "http://schemas.android.com/apk/res/android">
<item android:drawable = "@color/background" />
<item>
<bitmap
android:gravity = "center"
android:src = "@drawable/hwalogo" />
</item>
</layer-list>
Итак, у меня будет заставка без дротика. Кроме того, на стороне iOS тоже есть. До этого я создавал заставку, например домашнюю страницу или логин. Мой вопрос в том, какой из них я должен использовать, чтобы быть более подходящим? Огромное спасибо..
Я создал заставку, используя сам код Dart. Совместное использование кода для справки:
import 'package:flutter/material.dart';
import '../constants/constants.dart';
class SplashScreen extends StatefulWidget {
const SplashScreen({super.key});
@override
State<StatefulWidget> createState() => _SplashScreenState();
}
class _SplashScreenState extends State<SplashScreen> {
bool? loginCheck; //checking the shared preference and navigating accordingly
@override
void initState() {
super.initState();
loginCheck = prefs!.getBool('login');
navigate();
}
@override
Widget build(BuildContext context) {
return const Material(
child: Center(child: Text('Loading....')),
);
}
navigate() async {
if (loginCheck == true) {
Future(() => Navigator.of(context).pushReplacementNamed('/home'));
} else {
Future(() => Navigator.of(context).pushReplacementNamed('/login'));
}
}
}
Кроме того, вы можете указать задержку в несколько секунд вручную, но приведенный выше код действительно выполняет свою работу.
Для этого вам нужно будет написать собственный код как для Android, так и для iOS. И да, это будет более производительно.
Я получил это, это было бы больше производительности. Большое спасибо дружище.
Возможно, оба из них, вы можете использовать собственные утилиты заставки, чтобы избавиться от белого экрана при открытии приложения.
В то же время вы можете использовать заставку, созданную с помощью dart, и выполнять некоторые вызовы API, асинхронные задания и т. д.
Или вы можете использовать готовые заставки, такие как заставка или easy_splash_screen.
Так что это о ваших потребностях, сделайте тот, который подходит для вашего случая.
Ясно, я понял, использование зависит от моих потребностей. Большое спасибо, друг.
Родной экран-заставка имеет несколько преимуществ:
Пакет flutter_native_splash может генерировать собственный экран-заставку, а также теперь имеет возможность сохранять экран-заставку на экране, пока вы загружаете ресурсы приложения. Полное раскрытие: я поддерживаю этот пакет.
Полностью согласен с вами, но я знаю это использование, и я уже создаю подобную заставку. Но если я буду использовать с нативными кодами, производительность будет больше?