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 中文网

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/624430.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

500以内的不入耳运动耳机推荐,首推五大业内顶级优品

不入耳式运动耳机因其独特的佩戴方式和设计,能够在运动过程中保持对周围环境的警觉,避免因音乐沉浸而忽视潜在的安全隐患,同时它们还能有效减少对耳道的压迫,让运动更加舒适自在,接下来,就让我为大家推荐一…

JavaEE:HTTP协议

基本内容 网站 后端(HTTP服务器) 前端(浏览器),而后端和前端都需要遵循HTTP协议 HTTP属于超文本传输协议,存在于应用层 文本:一般能在utf8或者gbk上找到的合法字符串 超文本:不仅…

CC工具箱使用指南:【获取相邻四至信息(L丶s丶M)】

一、简介 群友定制工具。 这个功能适用面相对比较广。说起来也很简单,就是把一个宗地或地块的四至信息抄录到给定的字段中。 要处理的要素可以是宗地图,也可以是用地图。这里以宗地图为例: 需要做的是,将每地块宗地的东西南北4…

LoopAnimate、LLM-Seg、DreamScape、LoopGaussian、TransformerFAM

本文首发于公众号:机器感知 ​LoopAnimate、LLM-Seg、DreamScape、LoopGaussian、TransformerFAM Lossless Acceleration of Large Language Model via Adaptive N-gram Parallel Decoding While Large Language Models (LLMs) have shown remarkable abilities, …

平稳序列建模 #时间序列分析 #R语言

掌握序列预测的主要内容,熟悉预测的步骤。掌握平稳序列的步骤,能熟练运用R软件实现各个步骤。 训练数据在文末!!! 练习1、根据某城市过去63年中每年降雪量数据(行数据)(题目1数据.tx…

小白菜 macOS github提交代码

目录 1- 在上传的文件下 打开终端 2- 输入命令: 3- 输入命令 有些文件不需要上传 编写ignore文件 4- 编写ignore文件 5- 添加文件至暂存区域 并查看状态 6- 提交 7- 建立远程仓库 8- 连接远程仓库 9- 查看连接成功 10- 获取token免密登录 11- 现在远程仓…

Axios网络请求

Axios网络请求主要用于前后端请求,前后端分离时前端需要通过url请求后端的接口,并且处理后端传过来的数据。 Axios官网教程 安装 npm install axios在main.js导入 import axios from axios;//声明一个http变量!!&#xff01…

企业数据模型应用:数字化转型的关键引擎

一、引言 在数字化浪潮席卷全球的今天,数据已经成为企业运营、决策和创新的核心要素。企业数据模型作为数据管理的核心工具,正逐渐成为企业数字化转型的重要引擎。本文将深入探讨企业数据模型的基本概念、应用场景、挑战与对策,以及其在数字…

加强金融行业关键信息基础设施安全保护,有效防范网络安全风险

当前,随着数字化发展的不断深入,关键信息基础设施作为国家的重要战略资源,面临着国内外严峻的网络安全风险。为了确保国家安全,在国家发展各领域和全过程中,需要将安全发展贯穿始终,筑牢国家安全屏障。金融…

外包干了1年....字节跳动面试高频考点,懒加载

一、文章内容 什么是懒加载懒加载的优点什么时候使用懒加载学习懒加载前置内容实战懒加载图片 二、什么是懒加载? 从语法角度分析懒加载,懒是adj形容词,加载是名词;或者懒看为副词,加载作为动词,这样就能理解懒加载了就是懒懒的/地加载,更通俗的讲就是通过一种手段来加载.就…

单例模式五种写法

单例模式五种写法 单例模式有五种写法:饿汉、懒汉、双重检验锁、静态内部类、枚举. 单例模式属于设计模式中的创建型模式 一、单例模式应用场景 windows的task manager(任务管理器)就是很典型的单例模式; windows的recycle bin(回收站)也是典型的单例应用&#…

ENVI实战—一文学会使用传感器自带信息配准工具进行几何校正

实验1:学会使用传感器自带信息配准工具 目的:利用ENVI的传感器自带信息配准工具,掌握几何校正的一般方法。 过程: 1.对MODIS影像进行校正: ①读取影像:打开文件,点击“打开为”,…