Using StageText for AIR applications

Adobe AIR 3 includes a great new feature: StageText. Using the normal TextField for text input works just fine, but this new TextField-like class allows you to control your text input more closely (especially on mobile devices) with many options like auto capitalization, software keyboard type, and more. It has its caveats (it’s a separate class, and it gets added to the top of the stage, so there’s no display list control) but overall it’s a great feature addition to Adobe AIR and the Flash platform as a whole.

Only that when I was trying to use it (with Flex 4.5 and AIR 3), it wouldn’t work, but instead fail with this error message during execution (even though StageText was included on airglobal.swc):

Exception fault: VerifyError: Error #1014: Class flash.text::StageText could not be found.

An online search for the error and its meaning provided no results (!) – information on the new class is pretty hard to come by. So after some trial and error (and luckily stumbling into this video about setting up FDT for Adobe AIR 3 and Flash Player 11 development), the reason is: you need to tell the Flex SDK compiler to compile against a newer version of the SWF format that enables that feature.

So the solution is simple: just add this parameter to your Flex SDK compilation settings (this is in addition to any target-player switch already present).

--swf-version=13

It should then work flawlessly.

Stage Text example

Read more about that switch here. The same applies when using StageVideo.

4 responses to “Using StageText for AIR applications”

  1. whoizz wrote:

    how did you came across the scrolling issue?

  2. zeh wrote:

    Which scrolling issue?

  3. Roberto Garcia wrote:

    Hi,

    How would this work for application from flash
    I have searched but can not find the way
    thanks

  4. Douglas Saisho wrote:

    Awesome man, I had same problem and if it wasnt for your post it would have taken for ever to fix. TYVM

Leave a Reply