App Inventor 2 构建多屏幕App的最佳实践

导读

本文源自AppInventor2中文网(https://www.fun123.cn)文档,系英文原版翻译,主要倡导开发拥有多个屏幕的App时,建议在一个屏幕上拖动多个布局组件(水平or垂直布局),用代码块通过“可见性”属性控制每个布局的显示和隐藏,布局内的组件跟着最外面的布局一起显示和隐藏!这种做法也称作“虚拟分屏”,屏幕切换非常丝滑~

以下是译文部分:

App Inventor 可以轻松地向应用程序添加更多屏幕,但最好也不要添加太多屏幕,因为多个屏幕的应用程序将非常消耗计算资源,并且很容易超出 App Inventor 的限制。

根据经验,任何单个应用程序中的屏幕不应超过 10 个,当你尝试超过此限制时,App Inventor 会警告你。

在向应用程序添加其他屏幕之前,可以考虑使用通过在 Screen1 上使用垂直或水平排列创建的“虚拟”屏幕,并以与“切换屏幕”大致相同的方式管理其可见性。

“虚拟”屏幕

你可以使用单个屏幕,并在屏幕图像更改时显示和隐藏按钮(通过 ”可见性“ 属性),而不是构建具有实际多个屏幕的应用程序。

下面是一个应用程序的示例,该应用程序的一个视图包含四个按钮,另一个视图包含一个标签和一张图像。不是使用两个屏幕,而是一个具有两个垂直排列的屏幕,它们交替可见和隐藏。

图片

当然,所有这些都是以增加处理视图切换的块中的程序复杂性为代价的 —— 为每个新视图添加一个新的“虚拟”屏幕要简单得多,而不必担心屏幕切换逻辑。你可以通过这种方式处理任意数量的“虚拟”屏幕。

多屏幕:请谨慎!

App Inventor 不会阻止你创建具有超过 10 个屏幕的应用程序。但请注意,如果你这样做,你将面临超出大多数 Android 设备以及浏览器的处理和内存限制的危险。

精确的限制取决于几个不同的因素,例如应用程序的大小、声音和图像占用的存储空间、网络连接的速度以及 Web 浏览器的配置。但当你不断添加屏幕时,你会遇到一个或多个这些因素,而后果可能会非常令人不快。这可能包括:

  • 块编辑器运行越来越慢,

  • 以及 App Inventor 无法构建你的项目。

  • 在极端情况下,你可能会超出 App Inventor 保存或加载项目的能力:你将无法查看甚至无法修复你的项目,你必须在论坛上寻求帮助,甚至向人们寻求帮助 可能无法提供帮助。

如果你正在构建具有超过 10 个屏幕的应用程序,请在每次进行重大更改时将项目(aia 文件)保存到本地计算机(而不仅仅是 App Inventor 服务器)。最好将项目的版本保存在不同的名称下,例如 MyAppV1、MyAppV2 等。这样,如果你确实遇到问题,你就可以检查版本的历史记录。 如果你一次向项目添加大量屏幕,请特别小心,这很可能会遇到问题。

进行一系列这样的备份是一个好主意,不仅在多个屏幕的情况下,而且在你处理大型复杂项目时也是如此。

总是存在丢失工作的风险,因此值得努力进行备份作为预防措施。

设计App以限制屏幕数量

如果你的应用程序需要大量屏幕,你可能会考虑重新设计它以不使用这么多屏幕。例如,假设你的应用程序必须显示多个具有相同功能的不同屏幕图像,但每个图像具有不同的背景。对此进行编码的一种方法是为每个图像使用不同的 App Inventor 屏幕,每个屏幕都有自己的背景图像。使用这种方法,你需要的屏幕数量与图像数量一样多。但另一种编码方法是只有一个屏幕并更改屏幕背景。

类似的想法适用于其他类型的元素:如果每个屏幕图像都有一个带有自己的文本消息的标签,那么你可以拥有一个屏幕和一个标签,而不是拥有多个屏幕,每个屏幕都有自己的标签,只需更改标签的 文本。例如:

不要这样设计你的应用程序:

图片

而是像这样设计:

图片

也许有一天我们会让 App Inventor 足够智能,能够自动处理视图切换逻辑,或者增强系统的功能并放宽对屏幕数量的限制。但目前,请注意具有大量屏幕的应用程序的限制,并准备好应对这些限制。

原文:构建具有多个屏幕的应用程序 · App Inventor 2 中文网

  • 28
    点赞
  • 29
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

AI2中文网

真诚赞赏,手留余香

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

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

打赏作者

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

抵扣说明:

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

余额充值