Kurzanleitung Flash-Texteingabe und Textbereichskomponenten

In diesem Schnelltipp zu Flash Professional CS5-Tools werden die Komponenten Textbereich und Texteingabe behandelt.


Endergebnis

Werfen wir einen kurzen Blick auf das, worauf wir in diesem Quick Tip hinarbeiten:


Kurzübersicht

In der Demo sehen Sie fünf Beschriftungen, vier davon sind nur statische Beschriftungen, in denen die Komponenten beschrieben werden. Das Etikett unten links zeigt, wie viele Zeichen zur Eingabe verfügbar sind, und ändert sich jedes Mal, wenn der Benutzer Text in den Kommentartext eingibt. Die Namenseingabe erlaubt nur Groß- und Kleinbuchstaben sowie Leerzeichen. Das Kennwortfeld zeigt den Text als Kennwort mit Sternchen an und erlaubt nur die Eingabe von 16 Zeichen (da die meisten Kennwörter eine festgelegte Länge haben). Mit den Kommentaren textArea kann der Benutzer Text eingeben, jedoch nur 250 Zeichen. Der gestylte Textbereich wird mit einer Kombination aus dem gestylt Textformat Objekt und HTML.


Schritt 1: Einrichten des Dokuments

Öffnen Sie ein neues Flash-Dokument und legen Sie die folgenden Eigenschaften fest:

  • Dokumentengröße: 450 * 400
  • Hintergrundfarbe: #FFFFFF

Schritt 2: Fügen Sie der Bühne Komponenten hinzu

Öffnen Sie das Komponentenfenster, indem Sie Menü> Fenster> Komponenten wählen oder STRG + F7 drücken.

Ziehen Sie fünf Labels, zwei TextInputs und zwei TextAreas auf die Bühne.

Geben Sie im Eigenschaftenfenster der ersten Beschriftung den Instanznamen "nameLabel" an. Wenn das Eigenschaftenfenster nicht angezeigt wird, wählen Sie Menü> Fenster> Komponenten oder drücken Sie STRG + F3.

Setzen Sie das X des Labels auf 35.00 und das Y auf 45.00

Stellen Sie die Breite des Etiketts auf 100,00 und die Höhe auf 22,00 ein

  • Geben Sie im Eigenschaftenbereich der zweiten Beschriftung den Instanznamen "passwordLabel", X: 35, Y: 119, width: 100, height: 22 an.
  • Geben Sie im Eigenschaftenfenster der dritten Beschriftung den Instanznamen "commentsLabel", X: 35, Y: 209, width: 100, height: 22.
  • Geben Sie im Eigenschaftenfenster der vierten Beschriftung den Instanznamen "numCharsLabel", X: 35, Y: 354, width: 100, height: 22.
  • Geben Sie im Eigenschaftenfenster der fünften Beschriftung den Instanznamen "styledLabel", X: 294, Y: 45, width: 100, height: 22.
  • Geben Sie im Eigenschaftenfenster dem ersten TextInput den Instanznamen "nameTI", X: 35, Y: 77, width: 100, height: 22 an.
  • Geben Sie im Eigenschaftenfenster dem zweiten TextInput den Instanznamen "passwordTI", X: 35, Y: 155, width: 100, height: 22 an.
  • Geben Sie im Eigenschaftenfenster der ersten TextArea den Instanznamen "commentsTA", X: 35, Y: 240, width: 180, height: 100 an.
  • Geben Sie im Eigenschaftenfenster der zweiten TextArea den Instanznamen "styledTA", X: 249, Y: 79, Breite: 172, Höhe: 162, ein.

Schritt 3: Klassen importieren

Erstellen Sie eine neue ActionScript-Datei, und geben Sie ihr den Namen Main.as. Wir werden unsere Komponenten in der Main-Klasse deklarieren. Daher müssen Sie die Option "Stage-Instanzen automatisch deklarieren" deaktivieren. Dies hat den Vorteil, dass Sie Codehinweise für die Instanz erhalten.

Gehen Sie zu Menü> Datei> Einstellungen für Veröffentlichungen und klicken Sie neben Skript auf [Einstellungen]..

Deaktivieren Sie "Bühneninstanzen automatisch deklarieren"..

Öffnen Sie in Main.as die Paketdeklaration und importieren Sie die Klassen, die wir verwenden werden. Fügen Sie der Main.as Folgendes hinzu:

 Paket // Komponenten import fl.controls.Label; import fl.controls.TextArea; import fl.controls.TextInput; // Movieclip muss erweitert werden, damit wir ihn importieren können. Import flash.display.MovieClip; // Wird benötigt, um unsere Etiketten automatisch in der Größe anzupassen. Import flash.text.TextFieldAutoSize; // Ereignisse import flash.events.TextEvent; import flash.events.Event; // Erforderlich, um die textArea zu formatieren. Import flash.text.TextFormat;

Schritt 4: Richten Sie die Hauptklasse ein

Fügen Sie die Klasse hinzu, erweitern Sie MovieClip und richten Sie unsere Konstruktorfunktion ein. Fügen Sie Folgendes zu Main.as hinzu:

 öffentliche Klasse Main erweitert MovieClip // Labels public var nameLabel: Label; public var passwordLabel: Bezeichnung; public var commentsLabel: Bezeichnung; public var numCharsLabel: Label; public var styledLabel: Label; // Texteingaben public var nameTI: TextInput; public var passwordTI: TextInput; // Textbereich public var commentsTA: TextArea; public var styledTA: TextArea; // Anzahl der im Kommentarbereich zulässigen Zeichen private var numChars: uint = 250; // Wird verwendet, um den Textbereich zu gestalten. Var taFormat: TextFormat; // String, der in textArea verwendet werden soll var theString: String; public function Main () // Wird verwendet, um unsere Lables einzurichten. setupLabels (); // wird zum Einrichten der textInputs verwendet setupTextInputs (); // Wird verwendet, um das TextFormat für die TextArea einzurichten. SetupFormat (); // Benutzte den String, den wir in unserer TextArea verwenden, setupString (); // wird verwendet, um = den Textbereich einzustellen setupTextAreas (); 

Schritt 5: Hauptfunktionen des Konstruktors

Hier definieren wir die Funktionen, die in unserem Konstruktor verwendet werden. Folgendes tun wir:

In dem setupTextInputs () Funktion verwenden wir die beschränken Eigenschaft, um den Charakter einzuschränken, den der Benutzer eingeben kann. Da dies ein richtiger Name ist, beschränken wir die Verwendung auf Groß- und Kleinbuchstaben und Leerzeichen (keine Zahlen)..

Durch die Nutzung displayAsPassword, Wenn der Benutzer Text eingibt, zeigt die Eingabe Sternchen an (sehr ähnlich wie bei HTML)..

Durch die Nutzung maxChars Wir legen eine vordefinierte Anzahl von Zeichen fest, die der Benutzer eingeben kann. Hier können bis zu 16 Zeichen eingegeben werden.

Das Textformat ist ein Objekt, an das wir übergeben werden TextArea. Hier setzen wir Farbe, Größe und Kursivschrift auf true.

Wenn wir die Zeichenfolge für die TextArea einrichten, binden wir HTML ein, das unter Verwendung der TextArea verfügbar ist htmlText Eigentum.

In dem setupTextAreas () Funktion machen wir die Kommentare TextArea bearbeitbar, so dass der Benutzer es eingeben kann; Wir setzen auch die maximale Anzahl von Zeichen und setzen "word wrap" auf "true", damit Wörter am Ende des textArea-Bereichs umbrochen werden. Wir setzen den htmlText gleich dem von uns erstellten String und richten sein Textformat ein. Der HTML-Code in der Zeichenfolge überschreibt die Textformat Der Rest der Zeichenfolge erbt jedoch das, was wir in das TextFormat-Objekt eingefügt haben.

Fügen Sie dem Main.as Folgendes hinzu

 private function setupLabels (): void // Richten Sie den Text für unsere Labels ein nameLabel.text = "Geben Sie Ihren richtigen Namen ein"; passwordLabel.text = "Geben Sie Ihr Passwort ein"; commentsLabel.text = "Geben Sie Ihre Kommentare ein"; // Hier konvertieren wir numChars in eine Zeichenfolge, da die Texteigenschaft eine Zeichenfolge erwartet numCharsLabel.text = String (numChars) + "Zeichen übrig"; styledLabel.text = "Ein gestalteter Textbereich"; // Wir verwenden autosize, damit unser Label den gesamten Text aufnehmen kann nameLabel.autoSize = nameLabel.autoSize = TextFieldAutoSize.LEFT; passwordLabel.autoSize = passwordLabel.autoSize = TextFieldAutoSize.LEFT; commentsLabel.autoSize = commentsLabel.autoSize = TextFieldAutoSize.LEFT; numCharsLabel.autoSize = numCharsLabel.autoSize = TextFieldAutoSize.LEFT; styledLabel.autoSize = styledLabel.autoSize = TextFieldAutoSize.LEFT;  private function setupTextInputs (): void // Hier beschränken wir die Eingabe auf Kleinbuchstaben a-z, Großbuchstaben A-z und Leerzeichen nameTI.restrict = "a-zA-Z"; // Verwenden Sie displayAsPassword, um die Texteingabe wie ein Kennwortfeld anzuzeigen. PasswordTI.displayAsPassword = true; // Begrenzen Sie die Anzahl der Zeichen, die der Benutzer seit den meisten Kennwörtern eingeben kann passwordTI.maxChars = 16;  private function setupFormat (): void // Hier richten wir ein TextFormat-Objekt ein, das zum Hinzufügen von // style zur textArea verwendet wird. taFormat = new TextFormat; taFormat.size = 16; taFormat.color = 0x0000FF; taFormat.italic = true;  private Funktion setupString (): void // Dies ist die Zeichenfolge, die HTML enthält, die wir an die textArea übergeben. theString = "Dieser Text ist fett gedrucktWir können die Farbe in "; theString + =" ändern.Auch rot durch Verwendung von HTML "; theString + =" Der Rest dieses Textes wird durch den Text Format festgelegt "; private Funktion setupTextAreas (): void // Durch das Festlegen der textArea auf editierbar bedeutet, dass der Benutzer ihn eingeben kann commentsTA.editable = true; // Legt die maximale Anzahl von Zeichen fest, die das Textfeld enthalten kann. Wir wollen Kommentare. // 250 Zeichen oder weniger sein. CommentsTA.maxChars = numChars; // Setzt den Wortumbruch auf "True". Wenn das Ende // erreicht wird, werden die Wörter umbrochen textArea commentsTA.wordWrap = true; commentsTA.addEventListener (TextEvent.TEXT_INPUT, textEntered); styledTA.htmlText = theString; // Hier wird das Format auf textArea gesetzt styledTA.setStyle ("textFormat", taFormat);

Schritt 6 Definieren Sie die Funktion textEntered

Das textEntered () Funktion wird von verwendet KommentareTA eventsListener. Hier erhalten wir die Anzahl der verfügbaren Zeichen, um den einzugeben und zu aktualisieren
Label, um anzuzeigen, wie viele noch.

Dann schließen wir die Klasse und das Paket ab.

 private function textEntered (e: Event): void // Ruft die Anzahl der verfügbaren Zeichen ab, um var charsLeft einzugeben: uint = numChars - e.target.length; // Konvertiere charsLeft in einen String und aktualisiere das Label numCharsLabel.text = String (charsLeft) + "Zeichen übrig";  // Die Klasse schließen // Das Paket schließen

Fazit

Die Verwendung von textInputs und TextAreas ist eine großartige Möglichkeit, Ihren Benutzern die Eingabe von Text oder das Anzeigen von Text mit Stil zu ermöglichen.

Sie werden im Komponentenparameterfenster der Komponenten feststellen, dass Sie bestimmte Eigenschaften überprüfen und auswählen können.

Das obige Bild ist für die TextArea-Komponente

Eigenschaften für die TextArea-Komponente

  • verdichtenWeiß: Ein boolescher Wert, der angibt, ob zusätzlicher Leerraum aus der Komponente entfernt wird, die HTML-Text enthält
  • bearbeitbar: Ein boolescher Wert, der angibt, ob das Textfeld vom Benutzer bearbeitet werden kann
  • aktiviert: Ein boolescher Wert, der angibt, ob die Komponente Benutzereingaben akzeptieren kann
  • horizontalScrollPolicy: Legt die Bildlaufrichtlinie für die horizontale Bildlaufleiste fest. Dies kann einer der folgenden Werte sein:
    • ScrollPolicy.ON: Die horizontale Bildlaufleiste ist immer aktiviert.
    • ScrollPolicy.OFF: Die Bildlaufleiste ist immer deaktiviert.
    • ScrollPolicy.AUTO: Die Bildlaufleiste wird eingeschaltet, wenn sie benötigt wird.
    • Standardeinstellung bis AUTO
  • htmlText: Der von der Label-Komponente anzuzeigende Text, einschließlich HTML-Markup, der die Formatvorlagen dieses Texts ausdrückt
  • maxChars: Die maximale Anzahl von Zeichen, die ein Benutzer in das Textfeld eingeben kann.
  • beschränken: Die Zeichenfolge, die das Textfeld von einem Benutzer akzeptiert
  • Text: eine Zeichenfolge, die den in der Komponente enthaltenen Text enthält
  • verticalScrollPolicy: Die Bildlaufrichtlinie für die vertikale Bildlaufleiste. Dies kann einer der folgenden Werte sein:
    • ScrollPolicy.ON: Die Bildlaufleiste ist immer aktiviert.
    • ScrollPolicy.OFF: Die Bildlaufleiste ist immer deaktiviert.
    • ScrollPolicy.AUTO: Die Bildlaufleiste wird eingeschaltet, wenn sie benötigt wird.
    • Standardeinstellung bis AUTO
  • sichtbar: Ein boolescher Wert, der angibt, ob die Komponenteninstanz sichtbar ist
  • Zeilenumbruch: Ein boolescher Wert, der angibt, ob der Text am Zeilenende umbrochen wird

Eigenschaften für den TextInput

  • displayAsPassword: Ein boolescher Wert, der angibt, ob die aktuelle TextInput-Komponenteninstanz erstellt wurde, um ein Kennwort oder Text zu enthalten
  • bearbeitbar: Ein boolescher Wert, der angibt, ob das Textfeld vom Benutzer bearbeitet werden kann
  • aktiviert: Ein boolescher Wert, der angibt, ob die Komponente Benutzereingaben akzeptieren kann
  • maxChars: Die maximale Anzahl von Zeichen, die ein Benutzer in das Textfeld eingeben kann.
  • beschränken: Die Zeichenfolge, die das Textfeld von einem Benutzer akzeptiert
  • Text: eine Zeichenfolge, die den in der Komponente enthaltenen Text enthält
  • sichtbar: Ein boolescher Wert, der angibt, ob die Komponenteninstanz sichtbar ist

Um die Eigenschaften der Beschriftung anzuzeigen, überprüfen Sie unbedingt meinen vorherigen Tipp zu Beschriftungen und Schaltflächen.

In den Hilfedateien können Sie mehr über die Komponenteneigenschaften erfahren, die Sie im Parameterfenster festlegen können.

Vielen Dank für das Lesen und achten Sie auf die nächste Komponente Quick Tip!