2

该组件的目的是测试学生对给定学科的知识 - 在下面的示例中,它将是地理。给学生一段文本,其中缺少单词。他/她必须填写(在这种情况下键入)缺失的单词 - 因此这种测试/练习称为间隙填充。练习中可能有多个句子有多个间隙 - 看起来像这样:

伦敦是 ____________ 和 _____________ 中最大的市区。作为两千年来的重要定居点,伦敦的历史可以追溯到___________。

组件必须能够在文本中显示带有“浮动”间隙的文本。这些间隙将具有与 TextInput 控件类似的行为。一旦学生提交答案,该组件将返回输入的单词,然后将这些单词与预期答案进行比较。

组件应该能够显示文本,并且间隙从文本中动态派生所有必需的参数。间隙的位置可以用一个特殊的标记来标记 - 例如#10# - 这将标记文本中间隙的位置和间隙的大小(字符数)。

因此,上面的文本在加载到组件之前可能如下所示:

伦敦是#10# 和#15# 中最大的市区。作为两千年来的重要定居点,伦敦的历史可以追溯到 #8#。

4

3 回答 3

2

你需要一个支持流布局的容器。它不是标准 Flex 框架的一部分,但您可以在此处(优秀的 FlexLib 的一部分)和此处(独立实现)找到一些工作实现

于 2008-09-25T11:11:02.040 回答
0

我猜你可以有一个画布,并动态添加标签和文本输入。这里的问题是知道换行符在哪里;我不确定如何从设置的文本轻松计算基于文本的控件的宽度,但它必须是可能的。

我想知道是否有可以为您执行此操作的布局控件,但我只能看到限制性太强的 HBox 和 VBox。创建或查找通用自动换行布局控件会很有用。

于 2008-09-24T21:47:58.600 回答
0

FlowBox是要走的路。您可以使用 Horizo​​ntalGap 来控制文本和输入间隙之间的间距。

当谈到编码方式时,我有一个 javascript 版本,您可以随意查看。填空数据的渲染编码。它是通用学习活动生成器宠物项目的一部分。

从那以后,我搬到了 Flex。我在 Flex 中提供了学习活动的示例。您不会找到填空的地方,但您会发现“输入”您的答案足够接近。

全部开源。但是请注意,我在学习 Flex 时写了这篇文章……这是学习各种技术的借口。代码几乎肯定会得到改进。

如果您想出一些漂亮的东西,请考虑为 eduforge 上的exercist 项目做出贡献

于 2008-09-27T03:21:51.280 回答