第一百四十一回 如何添加程序启动页


我们在上一章回中介绍了如何解决BLE包中的错误的内容,本章回中将介绍 如何添加程序启动页.闲话休提,让我们一起Talk Flutter吧。

概念介绍

程序启动页就是点击手机桌面上的程序启动图标后显示的页面,也叫splash页面,我们在前面章回中介绍过相关的内容,并且给出了解决方案,不过我发现这个方案不好用。如果按照这个方案添加启动页面的话,会首先显示一个白色的页面,然后才是我们方案中添加的页面。这个白色的页面就是程序启动页,它是在Flutter程序页面加载第一帧前运行的。Flutter在设计时把程序启动页设计在了原生端,因此只能使用原生开发的方式实现程序启动页面。本章回中详细介绍添加程序启动页的方法。

实现方法

在Flutter中添加启动页以原生开发的方式进行,因此我们分别介绍Android和IOS两种开发平台上的实现方法。

IOS平台

在IOS平台上添加启动页比较方便,只需要在sotryboard中的LauncherScreen中添加启动页面的内容就可以,而且的启动和运行流程不需要我们去关注。启动页中显
示的内容的布局和其它StoryBoard中的页面布局处理方式完全相同,我在这里就详细介绍了。我对这种方法做一个总结:IOS提供了一个模板,开发者只需要给对着模板
做一个启动页就可以,其它的事件平台会自动处理,我称之为模板式开发。

Android平台

在Android平台上添加启动页需要自己动手实现,不过在Andorid12之后官方也推出了启动页库.我们只需要在布局文件中添加图片和配色就可以实现启动页,这种方式
类似IOS的模板式开发。下面我们详细介绍一下添加启动页的方法。

  1. 打开资源文件launch_background.xml,文件们于Android目录下的res/drawable目录下;
  2. 在文件中的item中添加启动页中的图片和背景色,详细代码如下:
<!-- Modify this file to customize your launch splash screen -->
<layer-list xmlns:android="http://schemas.android.com/apk/res/android">
    <item android:drawable="?android:colorBackground" />

    <!-- You can insert your own image assets here -->
    <item>
        <bitmap
            android:gravity="center"
            android:src="@mipmap/ic_launcher" />
    </item>
</layer-list>

从代码中的注释是文件自带的,从中也可以可以看到官方也建议我们这样去做。此外,还有一个drawable-v21的目录下也有同样名称的文件,我们需要一起修改它。这是为设备兼容使用的。这部分内容是我总结的,大家也可以参考Flutter官方的开发文档,比我写的详细,不过官方给的demo和文档不一致,还是以文档为准。

经验分享

大家已经看到了,这种模板式的开发确实方便,不过也有一些缺点:无法控制运行时间,因为这个启动页直到第一帧Flutter画面出来时才消失,而且这个时间与手机性
能有关。此外,还有有一个三方包比较方便,不过从包提供的报告说部分没有google launch的手机上会无法显示闪屏页面,鉴于国内手机的各种UI,所以我没有去使
用这个包。最后,我对添加启动页的方法做一个总结:

  1. 添加启动页最好分平台进行,虽然麻烦一些,但是安全可靠;
  2. 给Andorid平台上添加启动页时drawable和drawable-v21两个目录下的文件都需要修改;
  3. Android平台上的启动页不仅可以在12及以上平台运行,也可以向下兼容老的Android版本;

看官们,与"如何添加程序启动页"相关的内容就介绍到这里,欢迎大家在评论区交流与讨论!

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

talk_8

真诚赞赏,手有余香

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值