Den här snabba tipsen visar hur du implementerar en automatisk flik mellan textfält. Om du gör så ställer du in fokus på nästa definierade textfält när det maximala antalet tecken har införts i det föregående. Nu går vi!
Låt oss ta en titt på det slutliga resultatet vi ska arbeta för:
En serie TextFields placeras på scenen, liksom på en knapp. Använda längd
egenskapen kontrollerar vi det maximala antalet tillåtna tecken i varje fält och ändrar den aktiva TextField med hjälp av fokus
fast egendom. Knappen kommer att döljas som standard och avslöjas när alla textfält är färdiga.
Starta Flash och skapa ett nytt Flash-dokument, sätt scenstorleken till 400x200px och bildhastigheten till 24fps.
Detta är gränssnittet vi ska använda, det innehåller tre Input TextFields och en knapp. TextFields heter txt1, txt2 och txt3 från vänster till höger och knappen heter OK knappen.
För att koden ska fungera måste du ställa in Max Chars alternativet i Egenskaper Panel av varje TextField, i detta exempel är dessa siffror 3, 3 och 4.
Återskapa gränssnittet själv, eller använd källan FLA.
Skapa en ny ActionScript-klass (Cmd + N), spara filen som Main.as och börja skriva:
paket import flash.display.Sprite; importera flash.events.KeyboardEvent; public class Main sträcker Sprite public function Main (): void okButton.visible = false; // Dölj okButton stage.addEventListener (KeyboardEvent.KEY_UP, checkTextField); // Lyssna på knapptryckningar privat funktion autoTab (? Textfält): void // Använd resten argumentet för att inkludera ett antal textfält var txtLen: int = textfields.length; // Förklara längden på de textfält som används för (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
Denna kod kontrollerar det maximala antalet tillåtna tecken i varje textfält, dessa fält introduceras i autoTab
fungerar som parametrar, då ändras fokuseringen om maxtalet uppnås. Om det sista textfältet i parametervärdena är klart visas knappen Skicka.
Nyckellinjen är stage.focus = textfält [i + 1];
.
Återigen, glöm inte att ställa in Max Chars alternativet i Egenskaper Panel av TextField.
Kom ihåg att lägga till klassnamnet till Klass fält i Publicera del av Egenskaper panel.
Prova demo och experimentera med användningen av den här funktionen!
Jag hoppas att du gillade den här handledningen, tack för att du läste!