Flutter——踩坑之旅(iOS闪屏页+启动页 闪屏之后会黑一下才进入启动页)

程序猿日常

flutter填坑——iOS闪屏页+启动页效果优化 闪屏之后会黑一下进入启动页

问题描述

大部分app都有自己的启动页,我们经常在启动页做一些判断逻辑,例如 是否第一次启动app,第一次启动需要跳转引导页;是否登录状态,未登录状态需要跳转登录页,已登录状态跳转首页。
我遇到的问题是,app闪屏页面和启动页面使用的是同一个图片布局,在闪屏之后会黑一下才进入启动页,可以猜出,黑的原因是flutter启动渲染导致的,因为我是同一张图所以感官特别明现。

处理方法

Android和iOS分别处理,Android不受影响继续使用flutter写的启动页,iOS使用系统闪屏页,不使用flutter写的启动页,这样iOS的第一个页面需要根据判断条件在当前页面动态加载不同需求的页面(SplashIosR),Android的第一个页面是启动页可以判断条件后再进行跳转加载需要的页面(SplashR)。

import 'package:flutter/material.dart';
import 'package:flutterlang/res/DesignColors.dart';
import 'package:flutterlang/common/RouteUtil.dart';
import 'package:flutterlang/route/guide/SplashR.dart';
import 'package:flutterlang/route/guide/SplashIosR.dart';
import 'dart:io';
void main() {
  runApp(MyApp());
}

class MyApp extends StatelessWidget {
  // This widget is the root of your application.
  @override
  Widget build(BuildContext context) {
    return MaterialApp(
      title: '',
      theme: ThemeData(
        primaryColor: DesignColors.bgColor,//主题颜色样本
        cardColor: DesignColors.bgColor,//卡片颜色
        cursorColor:DesignColors.mainTextColor[10], //输入框光标颜色
      ),
      routes:RouteUtil.initRouteMap(context),
      home:Platform.isIOS?SplashIosR():SplashR(),
    );
  }
}

你可能感兴趣的:(程序猿日常)