移除或更换启动时的 kivy 闪屏

Posted

技术标签:

【中文标题】移除或更换启动时的 kivy 闪屏【英文标题】:Remove or replace the kivy splash screen on startup 【发布时间】:2014-01-30 05:06:48 【问题描述】:

当我在手机上启动我的应用程序(基于 kivy)时,有 1 到 2 秒的时间显示初始屏幕,显示“正在加载...”,然后主窗口才可见。

如何在代码(main.py)或配置中的某处删除它(我发现没有与此相关的配置(kivy.config)?这似乎与 OpenGL 或 pygame 有关?

【问题讨论】:

我在 build.py 的选项中找到了--presplash。这可以用来替换默认图片。 【参考方案1】:

此屏幕是 python-for-android 进程的一部分,您不能在 kivy 应用中直接修改。

正如您所评论的,您可以使用 build.py 的 --presplash 选项更改显示的图像。如果使用 buildozer,您应该在 buildozer.spec 文件中设置 presplash.filename 令牌。

也许可以通过深入研究 python-for-android 以某种方式修改该过程,但我从未见过这种讨论,而且我对您是否可以做出任何真正的改变知之甚少。问题是在 java 应用程序初始化和 python/kivy 应用程序准备好显示任何东西之间,一些加载时间是必不可少的。据我所知,您可以在您的 python 文件中做的最好的事情是在您的 build 方法中执行尽可能少的计算。

【讨论】:

是的,我同意你的看法。但是启动时间与java应用相比有点太长了。 我同意启动时间可能有点烦人。一件有用的事情(也许你已经做到了)是真正确保你的构建方法不会做太多事情,然后尝试构建尽可能多的状态。如果您可以快速显示一个简单的小部件,那么添加其他可以产生很大响应能力差异的小部件。【参考方案2】:
# (str) Presplash of the application
presplash.filename = %(source.dir)s/Blue.png

这是您需要在 buildozer.spec 文件中进行的更改“Blue.png”是我想要显示的图像

你也可以设置presplash颜色(你最好设置任何一个)如下

# (string) Presplash background color (for new android toolchain)
# Supported formats are: #RRGGBB #AARRGGBB or one of the following names:
# red, blue, green, black, white, gray, cyan, magenta, yellow, lightgray,
# darkgray, grey, lightgrey, darkgrey, aqua, fuchsia, lime, maroon, navy,
# olive, purple, silver, teal.
android.presplash_color = teal

【讨论】:

【参考方案3】:

如果您不想在预启动加载期间出现任何内容,您可以按照上面指定的方式添加一个空的透明 png 图像。

【讨论】:

以上是关于移除或更换启动时的 kivy 闪屏的主要内容,如果未能解决你的问题,请参考以下文章

为啥屏幕会出现闪屏

手机用百度地图怎么会老是闪屏?

app闪屏页如何实现?告别白屏!看这一篇就够了!

解决部分android手机页面跳转的黑白屏闪屏显示桌面背景问题

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

vue页面闪屏闪退的解决方案v-cloakv-textv-ifv-else