flutter:快速创建简单闪屏页

author author     2023-05-03     613

关键词:

参考技术A


近来闲暇时间一直在做Flutter,闪屏页是一个比较常见的需求,网上的闪屏页教程大部分是那种类似于广告页,而非iOS中的 LaunchScreen 性质的闪屏页.按照原来的方案我们要配置闪屏页的话,我们需要同时配置两端的闪屏页,那么有没有比较简单的方案来配置闪屏页呢? 毋庸置疑,当然是有了,那就是Flutter的插件 - flutter_native_splash . 接下来我们就来看一下具体应该怎么使用这个插件.


首先把 flutter_native_splash 导入到工程的 pubspec.yaml 中.这里需要注意的是需要放在 dev_dependencies 下,而不是 dependencies .具体如下所示.

接下来我们就来配置 flutter_native_splash ,在配置之前我们看一下 flutter_native_splash 的可配置项.

例如,我现在只有一个logo图片,那么我想生成iOS和android两端的闪屏页,这时候我只需在 pubspec.yaml 如下设置即可.

当然了,如果你有其他配置可以自行进行添加.

配置完成了,我们该如何生成呢?这时候需要我们打开终端 cd 到我们的工程目录下.如果是Android Studio 或者 VSCode 默认就是在当前工程目录下.

然后我们需要执行下面的三个命令来生成闪屏页

每一次都敲三个命令实属麻烦,我们把上诉的三个命令整合成一个命令,如下所示.

那么,我们不想使用该插件生成的闪屏页该怎么办呢?我们只需要执行下面命令即可.

注:每一次更换图片都是需要重新执行命令重新生成.


OK,上面就是关于 flutter_native_splash 的使用全部内容,其实比较简单,如果需要定制化的,建议还是各自平台配置各自的闪屏页.如果有任何问题欢迎在评论区批评指导,感谢大家了.


闪屏页+引导页

实现原理:用SharedPreferences实现。创建一个boolean的变量,默认值为true。当判断这个变量是true的时候,说明是第一次运行,就跳转到另一个引导页面,否则进入主页面。引导页面跳转到最后一张图片时,点击某按钮发生跳转事件... 查看详情

windowbackground闪屏页无法填充屏幕

参考技术A答案:要让闪屏页能够填充屏幕,您需要将您的图片设置为能够填充屏幕的尺寸,并且应该按照设备的分辨率来调整图片的尺寸大小。另外,您还需要确保图片的比例与屏幕的比例一致,这样才能保证图片能够填满屏... 查看详情

这交互炸了:闪屏页是像云一样消失的

...难度。难点在于实现的思路。一旦思路被打开,特效将很简单实现。效果项目地址:https://github.com/githubwing/WowSplash本期是第三期,第二期做的比较草率,好像并不太符合“交互炸了”这一主题,所以以后我会保证质量,而不是为... 查看详情

闪屏页和右上角的倒计时跳转

效果图:闪屏页用到了handler和CountDownTimer类,还需配置一下Activity的主题,这里是:android:theme="@android:style/Theme.NoTitleBar.Fullscreen"全屏主题的意思。实现源码:1packagecom.example.shanping;23importjava.lang.ref.WeakReference;45import 查看详情

手机安全卫士——闪屏页相关处理

根据功能模块划分(Android开发推荐此方法)   -Activity mobilesafe.activty   -后台服务 mobilesafe.service   -广播接受者mobilesafe.receiver   -数据库mobilesafe.db 查看详情

这交互炸了:闪屏页是像云一样消失的(代码片段)

...。难点在于实现的思路。一旦思路被打开,特效将很简单实现。效果项目地址:https://github.com/githubwing/WowSplash本期是第三期,第二期做的比较草率,好像并不太符合“交互炸了”这一主题࿰ 查看详情

如何在 Flutter 中为闪屏创建渐变色背景?

】如何在Flutter中为闪屏创建渐变色背景?【英文标题】:HowtocreateagradientcolorbackgroundforsplashscreeninFlutter?【发布时间】:2020-04-3000:19:57【问题描述】:我正在为我的Flutter应用程序制作初始屏幕,在可绘制文件夹中,我必须创建一... 查看详情

flutter app闪屏冻结任何方法解决

】flutterapp闪屏冻结任何方法解决【英文标题】:flutterappsplashscreenfreezeanywaytoresolve【发布时间】:2022-01-2120:21:28【问题描述】:我创建了一个颤振应用程序并在发布模式下创建了它的apk。该应用程序适用于我的所有设备三星笔记... 查看详情

如何制作一个闪屏页面

...用时,首先映入眼帘的那个界面。通常闪屏页面都会比较简单,因为要一闪而过(这大概就是为什么叫做闪屏了),一般都会放置产品的LOGO,在游戏中通常会放置游戏制作团队或者工作室的LOGO。微信小游戏制作工具目前暂时不支... 查看详情

Flutter 按住闪屏 3 秒。如何在 Flutter 中实现闪屏?

】Flutter按住闪屏3秒。如何在Flutter中实现闪屏?【英文标题】:Flutterholdsplashscreenfor3Seconds.HowtoimplementsplashscreeninFlutter?【发布时间】:2018-10-1206:36:29【问题描述】:如何在颤动中显示启动屏幕3秒,然后转到下一个我的登录屏幕。... 查看详情

Flutter 中的闪屏实现

】Flutter中的闪屏实现【英文标题】:Splashscreenimplementationinflutter【发布时间】:2019-07-0116:54:40【问题描述】:我是Flutter的新手,我想在我的应用程序中添加启动画面。我使用了initState()和导航器。但它没有用。应用程序打开时会... 查看详情

Flutter 闪屏不换页

】Flutter闪屏不换页【英文标题】:FlutterSplashscreenisnotchangingpages【发布时间】:2021-11-2101:30:11【问题描述】://这是我的启动画面classSplashScreenextendsStatefulWidget@override_SplashScreenStatecreateState()=>_SplashScreenState();class_SplashScree 查看详情

flutter混合开发:开发一个简单的快速启动框架|开发者说·dtalk

...文原作者:BennuC,原文发布于:BennuCTech在移动端中启动Flutter页面会有短暂空白,虽然官方提供了引擎预热机制,但是需要提前将所有页面都进行预热,这样开发成本较高,在研究了闲鱼的FlutterBoost插件后,... 查看详情

Flutter 中的动态闪屏

】Flutter中的动态闪屏【英文标题】:DynamicSplash-ScreeninFlutter【发布时间】:2020-09-0309:44:50【问题描述】:我是Flutter的新手,我尝试构建一个启动画面,等待构建一些小部件。是否有可能在不设置初始屏幕出现的随机延迟时间的... 查看详情

flutter混合开发:开发一个简单的快速启动框架|开发者说·dtalk

...文原作者:BennuC,原文发布于:BennuCTech在移动端中启动Flutter页面会有短暂空白,虽然官方提供了引擎预热机制,但是需要提前将所有页面都进行预热,这样开发成本较高,在研究了闲鱼的FlutterBoost插件后,... 查看详情

闪屏中的闪屏

】闪屏中的闪屏【英文标题】:splashscreeninflutter【发布时间】:2020-09-0118:40:37【问题描述】:我是Flutter的新手。我尝试编写启动画面。在Flutter中,在Android中,您可以控制两个单独的屏幕:Android应用程序初始化时显示的启动屏... 查看详情

如何在 Flutter 中移除原生闪屏和主屏幕之间的默认淡入淡出过渡? (仅使用本机启动画面)

】如何在Flutter中移除原生闪屏和主屏幕之间的默认淡入淡出过渡?(仅使用本机启动画面)【英文标题】:Howtoremovethedefaultfadetransitionbetweenthenativesplashscreenandthehomescreeninflutter?(Usingnativesplashscreenonly)【发布时间】:2021-01-2122:03:00... 查看详情

flutter如何在10分钟内快速的创建图片编辑器(代码片段)

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-xIdZ4cwA-1632927685451)(https://ducafecat.tech/2021/09/30/translation/how-to-build-a-photo-editing-app-in-10-minutes-using-flutter-and-img-ly/2021-09-29-22-55-20 查看详情