App Inventor 从 TinyDB 的列表中选择背景颜色

App Inventor choose background color from list in TinyDB

我正在尝试使用 App Inventor 制作应用程序。

该应用程序具有更多功能,但我停留在 "basic" 一个。 我想要做的基本上是通过调用存储在 TinyDB.

中的列表中的颜色来更改背景颜色(或任何元素的颜色)

我有两个屏幕 Screen1 和一个菜单屏幕。 我想在 Screen1 初始化并在列表的第一个上设置应用程序的背景颜色时调用 TinyDB。 此外,我想让用户从另一个屏幕上的列表中选择一种颜色 "Menu"。选择颜色后更改两个屏幕上的颜色。

我试着按照说明 https://sites.google.com/site/blocks123/playing-with-colors 来制作它,但它让我有点困惑。

在打印屏幕上,我在 Screen1 上有 TinyDB 个块。 是否有可能在 Screen1 上只有 call/initialize TinyDB 但在其他屏幕上有 TinyDB 块 "Menu"?

当我有 TinyDB 和颜色列表时,如何更改所选颜色的颜色?

谢谢泰丰。你的教程对我很有帮助,我认为它与那里没有描述的变量有点混淆。不管怎样,我试着在路上做了一点,我认为我正朝着正确的方向前进。 正如第二张图片所示,我在 "Menu" 屏幕上创建了它,并试图将我的选择保存到 [TinyDB]。 它几乎可以正常工作,但 "Menu" 屏幕初始化时出现错误除外。我不明白为什么我在 to value 在列表中时收到此消息?另一种方法是如何将 BCurrentColor 变量传递给 "Screen1"?如果我使用 set.Screen1.BackgroundColor 它不起作用

现在我知道我很接近了,我几乎可以把它扔到空中了。它在 "Menu" 屏幕上正确地改变了背景颜色,但有些它没有将选择保存到 [TinyDB],正如我在评论中描述的那样。我哪里错了? 我希望当我将颜色 "code" 保存到数据库时,我可以在另一个屏幕上调用它。

正如 Taifun 提到的,问题出在变量 BCurrentColorBCurrentColorName 上。在我将它们更改为值之后,从列表中选择颜色后的触发器将其设置为所需的颜色。

然后我可以从 TinyDB 调用它。它工作正常。