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

时间:2017-01-22 12:16:07

标签: android list background-color app-inventor tinydb

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

该应用程序有更多的功能,但我坚持我会说“基本”的。 我想要做的是基本上通过调用TinyDB中存储的列表中的颜色来更改背景颜色(或任何元素的颜色)。

我有两个屏幕Screen1和一个菜单屏幕。 我想调用TinyDB,而Screen1初始化并设置列表中第一个app的背景颜色。 此外,我想让用户从另一个屏幕“菜单”的列表中选择一种颜色。选择颜色后,两个屏幕上的颜色都会改变。

我试图按照https://sites.google.com/site/blocks123/playing-with-colors指令进行操作,但对我来说有点困惑。

在打印屏幕上,我在屏幕1上有TinyDB块。 是否可以在Screen1上调用/初始化TinyDB,但在其他屏幕“菜单”上有TinyDB块?

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

enter image description here

谢谢泰丰。你的教程对我很有帮助,因为它对于那里没有描述的变量有点混淆。无论如何,我试图在我的路上做一点,我想我正朝着正确的方向前进。 正如第二张图片所示,我在“菜单”屏幕上显示并试图将我的选择保存到[TinyDB]。 它的工作原理几乎没有,但“菜单”屏幕无意中出现错误。我不明白为什么我得到这条消息,而值列表中?另一种方法是如何将BCurrentColor变量传递给“Screen1”?如果我使用set.Screen1.BackgroundColor它就不会工作

enter image description here

现在我知道我很接近,我几乎可以把它丢在空中。它正确地更改了“菜单”屏幕上的背景颜色,但有些如何不会像我在评论中描述的那样将选择保存到[TinyDB]。哪里出错了? 我希望当我将颜色“代码”保存到数据库时,我可以在另一个屏幕上调用它。

enter image description here

1 个答案:

答案 0 :(得分:0)

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

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