程序猿日常
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(),
);
}
}
解决Flutter应用在iOS设备上闪屏后出现黑屏再跳转启动页的问题,通过区分Android和iOS平台处理,iOS采用系统闪屏页,动态加载所需页面,避免启动渲染导致的黑屏现象。
&spm=1001.2101.3001.5002&articleId=107610817&d=1&t=3&u=1ab557f30b9f4d71bc8217394e029876)
4285

被折叠的 条评论
为什么被折叠?



