Какой из них я должен использовать для создания заставки

Как вы знаете, некоторые приложения имеют заставку. Я изучил создание заставки с нативными кодами на 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 тоже есть. До этого я создавал заставку, например домашнюю страницу или логин. Мой вопрос в том, какой из них я должен использовать, чтобы быть более подходящим? Огромное спасибо..

[JS за 1 час] - 9. Асинхронный
[JS за 1 час] - 9. Асинхронный
JavaScript является однопоточным, то есть он может обрабатывать только одну задачу за раз. Для обработки длительных задач, таких как сетевые запросы,...
Топ-10 компаний-разработчиков PHP
Топ-10 компаний-разработчиков PHP
Если вы ищете надежных разработчиков PHP рядом с вами, вот список лучших компаний по разработке PHP.
Скраппинг поиска Apple App Store с помощью Python
Скраппинг поиска Apple App Store с помощью Python
📌Примечание: В этой статье я покажу вам, как скрапировать поиск Apple App Store и получить точно такой же результат, как на Apple iMac, потому что...
Редкие достижения на Github ✨
Редкие достижения на Github ✨
Редкая коллекция доступна в профиле на GitHub ✨
Подъем в javascript
Подъем в javascript
Hoisting - это поведение в JavaScript, при котором переменные и объявления функций автоматически "перемещаются" в верхнюю часть соответствующих...
Улучшение генерации файлов Angular
Улучшение генерации файлов Angular
Angular - это фреймворк. Вы можете создать практически любое приложение без использования сторонних библиотек.
0
0
90
3
Перейти к ответу Данный вопрос помечен как решенный

Ответы 3

Я создал заставку, используя сам код 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'));
    }
  }
}

Кроме того, вы можете указать задержку в несколько секунд вручную, но приведенный выше код действительно выполняет свою работу.

Полностью согласен с вами, но я знаю это использование, и я уже создаю подобную заставку. Но если я буду использовать с нативными кодами, производительность будет больше?

Semih Ekmen 11.11.2022 08:15

Для этого вам нужно будет написать собственный код как для Android, так и для iOS. И да, это будет более производительно.

Arijeet 11.11.2022 08:33

Я получил это, это было бы больше производительности. Большое спасибо дружище.

Semih Ekmen 11.11.2022 08:35
Ответ принят как подходящий

Возможно, оба из них, вы можете использовать собственные утилиты заставки, чтобы избавиться от белого экрана при открытии приложения.

В то же время вы можете использовать заставку, созданную с помощью dart, и выполнять некоторые вызовы API, асинхронные задания и т. д.

Или вы можете использовать готовые заставки, такие как заставка или easy_splash_screen.

Так что это о ваших потребностях, сделайте тот, который подходит для вашего случая.

Ясно, я понял, использование зависит от моих потребностей. Большое спасибо, друг.

Semih Ekmen 11.11.2022 08:38

Родной экран-заставка имеет несколько преимуществ:

  • Показывается сразу, без задержек.
  • Перед загрузкой приложения не отображается пустой белый экран.

Пакет flutter_native_splash может генерировать собственный экран-заставку, а также теперь имеет возможность сохранять экран-заставку на экране, пока вы загружаете ресурсы приложения. Полное раскрытие: я поддерживаю этот пакет.

Другие вопросы по теме