Denne raske tipsen viser deg hvordan du implementerer en automatisk fane mellom tekstfeltene. Hvis du gjør det, vil du sette fokus på det neste definerte tekstfeltet når maksimum antall tegn er innført i den forrige. La oss komme igang!
La oss se på det endelige resultatet vi vil jobbe for:
En serie TextFields vil bli plassert på scenen, så vel som en knapp. Bruker lengde
eiendom vil vi sjekke det maksimale antall tegn som er tillatt i hvert felt og endre den aktive TextField ved hjelp av fokus
eiendom. Knappen vil bli skjult som standard og avslørt når alle tekstfeltene er ferdige.
Start Flash og opprett et nytt Flash-dokument, sett scenestørrelsen til 400x200px og bildesatsen til 24fps.
Dette er grensesnittet vi skal bruke, det inkluderer tre Input TextFields og en knapp. TextFields er oppkalt txt1, txt2 og txt3 fra venstre til høyre og knappen er navngitt OK-knappen.
For at koden skal fungere, må du sette inn Max Chars alternativ i Egenskaper Panel av hvert TextField, i dette eksemplet er disse tallene henholdsvis 3, 3 og 4.
Gjenta grensesnittet selv, eller bruk Source FLA.
Opprett en ny ActionScript-klasse (Cmd + N), lagre filen som Main.as og begynn å skrive:
pakke import flash.display.Sprite; importer flash.events.KeyboardEvent; offentlig klasse Hoved utvider Sprite offentlig funksjon Main (): void okButton.visible = false; // Skjul okButton stage.addEventListener (KeyboardEvent.KEY_UP, checkTextField); // Lytt til nøkkelpresser Private funksjon autoTab (? Tekstfelt): void // Bruk resten argumentet til å inkludere et hvilket som helst antall tekstfelt var txtLen: int = textfields.length; // Forklar lengden på tekstfeltene som brukes til (var i: int = 0; i < txtLen; i++) if (textfields[i].length == textfields[i].maxChars) stage.focus = textfields[i + 1]; //Change focus to next textfield in the array if (textfields[txtLen - 1].length == textfields[txtLen - 1].maxChars) //checks for the last textfield in the array okButton.visible = true; //show the button private function checkTextField(e:KeyboardEvent):void autoTab(txt1, txt2, txt3); //executes the function every key press
Denne koden kontrollerer maksimum antall tegn som er tillatt i hver tekstfelt, disse feltene blir introdusert i autoTab
Fungerer som parametere, deretter endres fokuset hvis maksimalnummeret er nådd. Hvis den siste tekstfeltet i parametervisningen er fullført, vises innleveringsknappen.
Nøkkellinjen er stage.focus = tekstfelt [i + 1];
.
Igjen, ikke glem å sette Max Chars alternativ i Egenskaper Panel av TextField.
Husk å legge til klassenavnet til Klasse felt i publisere delen av Eiendommer panel.
Prøv demoen og eksperimenter med bruken av denne funksjonen!
Jeg håper du likte denne opplæringen, takk for å lese!