Wie kann ich eine benutzerdefinierte Flex-Komponente für eine Lücke-fill Übung machen?

StackOverflow https://stackoverflow.com/questions/129330

  •  02-07-2019
  •  | 
  •  

Frage

Der Zweck dieser Komponente ist das Wissen eines Schülers zu einem bestimmten Thema zu testen - im Beispiel unten, damit er Geographie wäre. Der Student ist ein Stück Text mit fehlenden Wörter in ihm gegeben. Er / sie zu füllen hat in (Typ in diesem Fall) die fehlenden Worte - daher ist diese Art von Test / Übung spalt fill.There genannt mit mehreren Lücken in der Übung mehrere Sätze sein könnte - etwas, das wie folgt aussieht:

London ist das ________ und größte Stadtgebiet in der _____________. Eine wichtige Siedlung für zwei Jahrtausende, London Geschichte geht durch die ___________ seiner Gründung zurück.

Die Komponente muss in der Lage sein, Text anzuzeigen mit ‚schwebenden‘ Lücken im Text. Diese Lücken würden ein ähnliches Verhalten wie TextInput- Kontrolle haben. Sobald der Schüler die Antwort einreicht wird die Komponente, die Worte zurück, die in und diese dann gegen die erwarteten Antworten verglichen werden eingegeben wurden.

Die Komponente sollte in der Lage sein, den Text anzuzeigen und die Lücken dynamisch ableiten alle erforderlichen Parameter aus dem Text. Die Position der Lücken, die durch ein besonderes Zeichen markiert werden könnte - wie 10 #. # -, die die Position der Lücke im Text und die Größe der Lücke (Anzahl der Zeichen) markieren würde

Daher ist die obige Text wie folgt aussehen könnte, bevor sie in die Komponente geladen werden:

London ist die # 10 # und größte Stadtgebiet in der # 15 #. Eine wichtige Siedlung für zwei Jahrtausende, London Geschichte seiner Gründung durch die # 8 # geht zurück.

War es hilfreich?

Lösung

Sie benötigen einen Container, der Flow-Layout unterstützt. Es ist nicht Teil des Standard-Flex-Framework, aber Sie können eine funktionierende Implementierung hier (Teil der ausgezeichneten flexlib) und hier (Standalone-Implementierung) .

Andere Tipps

Ich denke, man eine Leinwand haben könnte, und dynamisch Labels & TextInputs hinzuzufügen. Das Problem hier wäre zu wissen, wo die Zeilenumbrüche gehen; Ich bin mir nicht sicher, wie Sie ganz einfach die Breite einer textbasierten Steuerung aus der Menge Text berechnen können, aber es muss möglich sein.

Ich fragte mich, ob es eine Kontrolle über das Layout, die dies für Sie tun kann, aber ich kann nur HBox & VBox sehen, die zu restriktiv sind. Erstellen oder eine allgemeine autoWrap-Layout-Kontrolle zu finden, wäre nützlich.

FlowBox ist der Weg zu gehen. Sie können horizontalGap verwenden Abstand zwischen Text und Eingabe Lücken zu steuern.

Wenn es um die Art und Weise der Codierung es darum geht, hatte ich eine Version in javascript Sie frei sind, zu betrachten. Rendering , Codierung von Füllen Daten . Es war Teil der Haustier-Projekt für ein generische Aktivität Generator Lernen .

Ich habe da auf Flex bewegt. Ich habe verfügbar Proben von Lernaktivitäten in Flex gemacht . Sie werden nicht ein Füllen finden, aber Sie werden einen „Typen in“ Ihrer Antwort finden, die nahe genug ist.

Alle Open Source. Seien Sie jedoch gewarnt, dass ich das damals schrieb, wo ich Flex lernte ... es war ein Vorwand, diverse Techniken zu erlernen. Der Code an Sicherheit grenzender Wahrscheinlichkeit gewinnen verbessert werden.

Wenn Sie mit etwas geschickten kommen, betrachtet constributing zum exercist Projekt auf Eduforge

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top