Keyboard events in Flex mobile

I have a desktop application where I handle autocomplete and some other checks using the Keyboard events. Now porting the same app to Mobile devices but I am not able to get the Keyboard events. How can I get those or are there any alternatives for Keyboard events on Mobile devices?

Hi there,
If you are recording in Training mode then by default Captivate should include click boxes in your slides. You can assign keyboard shortcuts to those click boxes by carrying out the following steps:
1. Double-click on one of your Click Boxes.
2. In the Click Box section of the dialog box click the Select Keys... button.
3. Select the option Attach a shortcut
4. To perform an Undo choose Ctrl and then from the Letter menu choose
Note: To get the learner to Shift + Click, select the option SHIFT
5. Click OK to Close the Shortkey dialog box.
To simulate an Undo you would then need to branch to a slide where the original action was performed. Here you can either use the On success options Go to Previous Slide or Jump to Slide and then specify the slide number.
As for simulating selecting multiple items, again you would carry out similar steps. Depending on how your project has been setup you would either set the On success action to Continue or to  Go to next slide.
The way I tend to work is that I have each of items I want to select on separate slides and then add a click box with the keyboard shortcut Shift attached. When the learner clicks on the first click box I then move to the next slide and so on. Naturally, this does not account for allowing the learner to randomly select the items. To accomplish that, you would need to set up some pretty complex branching.
HTH
Best - Mark
Visit the macrofireball blog

Similar Messages

  • Flex Mobile - Moving up for keyboard

    Not sure if this is where i should post this question about Flex Mobile, but don't see any forums for Flex Mobile.
    My question should be simple enough. I create a Android app and it works perfect. About ready to put it in the market, but one odd thing I can't find on google is how to move the app (or at least the onFocus TextInput) up so the phone's keyboard doesn't cover it.
    Does anyone know what event (if any) is fired off when the phones keyboard is summoned and how to keep your text area above it.
    Thanks!
    Also..where can I find the new api info on things like using the phone's camera, gps, accelerometer,etc?

    maybe http://swfhead.com/blog/?p=904 will be helpful

  • Flex 4 does not dispatch keyboard events for ENTER key.

    Hello everyone. I think I have a strange problem with Flex 4 Beta (4.0.0.8909). My application has had event listener for keyUp event for a month now and suddenly (two days ago) I've noticed that keyUp event is not dispatched for ENTER (ALT also) key. Anyone know why? By the way, I've tried this with keyDown event, also 4.0.0.8847 version of SDK - still the same: no keyboard events for ENTER (and ALT) key.
    Here is the sample application that has got this issue:
    <s:Application
       xmlns:fx="http://ns.adobe.com/mxml/2009"
       xmlns:s="library://ns.adobe.com/flex/spark"
       xmlns:mx="library://ns.adobe.com/flex/halo"
       minWidth="640" minHeight="480"
       keyUp="application1_keyUpHandler (event)">
       <fx:Script>
          <![CDATA[
             import mx.controls.Alert;
             protected function application1_keyUpHandler (event: KeyboardEvent):void
                Alert.show ("Key up: " + event.keyCode);
          ]]>
       </fx:Script>
       <s:layout>
          <s:BasicLayout/>
       </s:layout>
       <s:TextArea verticalCenter="0" horizontalCenter="0" width="200"/>
    </s:Application>
    If you run this application and try typing anything in a TextArea you will get alerts with key codes. However, if you press ENTER (or ALT), you will get no alert.
    I'm pretty sure the code above is right so that means there is a bug in latest nightly builds of SDK (i would swhitch to an older build if i knew which one does not have this bug).
    Any ideas?

    Flex harUI wrote:
    That's true, but in this case, I think the text editing code is eating ENTER key in order to prevent parents from seeing it and acting on it (like a submit button).  We'll see if we can find a way around that.
    You can get the ENTER key now by listening in capture phase.
    Alex Harui
    Flex SDK Developer
    Adobe Systems Inc.
    Blog: http://blogs.adobe.com/aharui
    The enter key isn't being disposed of by textedit, the attached example code works without error if you a- remove the alert box and b-set the focus to your text area on initialisation. I agree that pressing the enter key then calling a dialog box will result in the enter key being "gobbled up" as  the enter key is overridden by the dialog box code.
    I think the first suggestion should be to anyone don't use dialogboxes for testing code. If for some reason debugging isn't desirable instead of a trace statement a simple label  can be used as a 'fake' trace.
    David
    Message was edited by: David_F57: I worded this wrong, imho there is no need for a work around, the textarea component works as it should. When intercepting 'system' keycodes there is a need to consider the effect of the intercept and code appropriately to that end.

  • ADF Mobile: amx:listView keyboard event handler

    My view needs to accept keyboard input, but does not have an inputText, only a listView. I need to update listItems based on the keyboard input, but cannot add an inputText field to the view. Can I capture keyboard events in the view, the panelPage, or the listView?
    Thanks,
    Mike

    Plzz help :(

  • Open PDF file into flex mobile app

    Hy,
    I use this method to open a web page into my flex mobile application and I want to now if is possible to make the same for an PDF file.
    <s:View xmlns:fx="http://ns.adobe.com/mxml/2009" xmlns:s="library://ns.adobe.com/flex/spark" title="Test">   <fx:Script> <![CDATA[ import flash.net.URLRequest; import flash.net.navigateToURL; import flash.display.MovieClip; import flash.media.StageWebView; import flash.geom.Rectangle; import flash.events.KeyboardEvent; import flash.ui.Keyboard; import flash.desktop.NativeApplication; import mx.events.FlexEvent; private var browser:StageWebView;
    protected function onButtonClicked(event:MouseEvent):void { browser = new StageWebView(); browser.viewPort = new Rectangle(0, 0, 100, 200); browser.stage = this.stage; browser.loadURL("http://adobe.com"); }  ]]> </fx:Script> <s:Button x="209" y="67" label="test" click="onButtonClicked(event)" /></s:View>

    Rangrajan,
    If you have the complete URL to the file; for example http://forums.adobe.com/filename.pdf
    or C:\users\yourname\filename.pdf
    Although I have not used it, you can pass the URL to Drumbeat Insight iFrame
    You can try their product, get prices for source code or library here: http://drumbeatinsight.com/products
    They offer email support for their products.
    You can make your own iFrame, with several sources.  Here is some background.
    http://www.ozzu.com/flash-forum/targeting-iframe-from-flash-t30013.html
    Let me know if this solves your file issue.
    I need to write a server-side app to listen to my web service, upload the PDF, then write a temporary file.pdf to the server,
    before my web app can load the PDF into a web hosted iFrame.
    Adobe needs to make this easy (and I even know some developers in the San Jose Adobe headquarters).
    Bruce

  • Issues with file upload in flex mobile application (sharepoint as backend)

    Hello,
    I am working on flex mobile application for android platform for which we are having sharepoint as a backend.
    (Flex SDK 4.6 and AIR 3.9)
    Issue which we are facing is as follows:
    We are communicating with the backend server using webservices: example:
    <s:WebService id="kWebService" wsdl="http://www.kservice.net/kdatabaseservice.asmx?WSDL" >
                <s:operation name="AddPost"
                             resultFormat="object"
                             result="addPostResult(event)"
                             fault="postsfaulterr(event)" />
    </s:WebService>
    Above services are working fine but we are facing issue with one service which is related to file upload.
    File upload for <10 MB is working fine but when we try to upload larger file on server it fails to process.
    We are sending bytearray to the backend and backend code is writing those bytearray into file.
    We have tried many ways to overcome from this situation. like we have checked configuration for file upload size on server , we have tried wcf services as well. Please help us on this criticle point as soon as possible
    Thanks
    Dhwani

    Prashant8809 wrote:
    Hi
    >
    > I have already gone through the video by Thomas Jung for multiple file upload but it saves the contents in server and not in >transparent table. So please suggest me alternative solutions.
    >
    >
    > Regards
    > Prashant Chauhan
    What do you mean that my video saves the contents int he server and not in transparent table?  I save the data into a temporary database table so it can be accessed by the parent WDA session. From there the WDA session can do whatever it wants with it.  What do you mean by transparent table - that would be a database table. Do you actually mean internal table?  if so, just read the data from the temporary database table into memory.

  • Flex iPad Application : Run code before application enters background  Application Type: Flex Mobile Application Target Platform: iPad AIR Version: 4.0 Development Environment: Flash builder 4.6  I want to run some code just before iphone application goes

    Application Type: Flex Mobile Application
    Target Platform: iPad
    AIR Version: 4.0
    Development Environment: Flash builder 4.6
    I want to run some code just before iphone application goes into background. I need function similar to didEnterBackground
    of native xcode app
    (https://developer.apple.com/library/ios/documentation/UIKit/Reference/UIApplicationDelegat e_Protocol/Reference/Reference.h
    tml#//apple_ref/occ/intfm/UIApplicationDelegate/applicationDidEnterBackground:)
    I tried using devactivated function of flash.display.STAGE.
    I used following addEventListener:
    STAGE = this.parent.stage;
    STAGE.addEventListener(Event.DEACTIVATE, onAppDeactivated);
    It worked for me but only when device is connected to development environment in debug mode. When I create my release build
    it is not working.
    So how can I make sure that my code runs before application goes into background.

    Even I am facing almost same issue
    Problem installing Adhoc version to iPhone and iPad - Development Environment Is - Adobe Flash CS6

  • Flex mobile orientation: force portrait mode and then allow auto orientation

    I'm creating a flex mobile project and I want to force the app to portrait orientation when I click a button, and when I click other button allow again to change the orientation.
    This is my code when I click the first button, where I want to force portrait mode:
    protected function click(event:MouseEvent):void{      if(stage.orientation != StageOrientation.DEFAULT){           stage.addEventListener(StageOrientationEvent.ORIENTATION_CHANGE, orientationChanged);           stage.setOrientation(StageOrientation.DEFAULT);      }else{           doSomething();      }  }  
    private function orientationChanged(event:StageOrientationEvent):void{      doSomething();      stage.removeEventListener(StageOrientationEvent.ORIENTATION_CHANGE, orientationChanged); } 
    private function doSomething():void{      stage.autoOrients = false; }
    It works ok and it changes the orientation if it's needed.
    Now, when I want to allow orientation change again, I've only putted:
    stage.autoOrients = true;
    It works ok if when I click the first button the app is in portrait and it doesn't have to change anything. But if it's on landscape and it have to change to portrait, when I allow orientation change again, it doesn't work ok.
    Do you know if I have to allow or change something? Or, is there any better way to do this?
    Thanks in advance

    Thanks for your answer. It works, but I have the same problem that I have setting the orientation. If I'm on landscape, it changes to Portrait ok, but when I want to allow auto orientation again, it doesn't work well.
    A little tricky I've found is:
    When I want to force to portrait:
    private var oldOrientation:String = null;
    protected function click(event:MouseEvent):void{
       if(stage.orientation != StageOrientation.DEFAULT){
                oldOrientation = stage.orientation;
                stage.addEventListener(StageOrientationEvent.ORIENTATION_CHANGE, orientationChanged);
                stage.setOrientation(StageOrientation.DEFAULT);
       }else{
                doSomething();
    private function orientationChanged(event:StageOrientationEvent):void{
                // do something if you are changing to portrait mode (the first change) and other thing if you are changing to old orientation
    And when I want to allow auto orientation again:
    if(oldOrientation != null){
            stage.setOrientation(oldOrientation);
            oldOrientation = null;             

  • Flex Mobile List Item Renderer problems

    i have flex mobile list created with item renderer,i remove individual item in flex mobile list,it is worked very well,but some times i double click action or another scroll event using in list, last item doesn't delete in flex mobile list.it is repeated again and again.so anyone this problem faced,give me a solution.
    i expect your feedback.Thanking You

    Hi Alex,
    I've searched a lot for that post (on this forum and on google). Not sure if this is the post you were talking about: http://tech.groups.yahoo.com/group/flexcoders/message/161146
    I have fixed the setter of the data not to also manage the state (I figured it was inappropriate there)... overrode the getCurrentRendererState, I'm managing the state staight from the data. When I run the following... All sold items show as sold... and normal states show as normal. When I try to hover over the normal state, it dosen't play the hovered state, and when I click to the selected state. These built in states don't work.
    override public function set data(value:Object):void {
         super.data = value;
         ticketNumber_ti.text = value.slots_id;
    override protected function getCurrentRendererState():String {
         var state:String;
         if (data.date_purchased != null) {
              state = 'sold';
              mouseChildren = false;
              mouseEnabled = false;
         }  else {
              state = 'normal';
              mouseChildren = true;
              mouseEnabled = true;
         return state;
    On another note, the states only update, once I start scrolling, everything updates... I tried to validateDisplayList() to the List after setting the dataProvider with no luck.
    Once I find a solution I will certainly add it to my Blog as I have not found a lot of solutions for this problem.
    Any help is grteatly appreciated.

  • Flex Mobile textinput

    Hi, I type from Brazil,
    Please I need example textinput with mask for Flex Mobile,
    Thank's

    Friend, I could not, the code for FlexMobile
    <?xml version="1.0" encoding="utf-8"?>
    <s:View xmlns:fx="http://ns.adobe.com/mxml/2009"
                        xmlns:s="library://ns.adobe.com/flex/spark" title="HomeView" xmlns:mx="library://ns.adobe.com/flex/mx">
              <fx:Script>
                        <![CDATA[
                                  import mx.events.ValidationResultEvent;
                                  import spark.events.TextOperationEvent;
                                  private var validResult:ValidationResultEvent;
                                  protected function button1_clickHandler(event:MouseEvent):void
                                            validResult= phValidator.validate();
                                            if (validResult.type == ValidationResultEvent.VALID)
                                                      readyNum.text=phFormatter.format(phNum.text) ;
                                            else
                                                      readyNum.text="";
                                  protected function phNum_changeHandler(event:TextOperationEvent):void
                                            if(phNum.text.length >9)
                                                      validResult= phValidator.validate();
                                                      if (validResult.type == ValidationResultEvent.VALID)
                                                                phNum.text=phFormatter.format(phNum.text);
                                                      else
                                                                readyNum.text="";
                                            else
                                                      readyNum.text= "";
                        ]]>
              </fx:Script>
              <fx:Declarations>
                        <mx:PhoneFormatter id="phFormatter" formatString="####-####" validPatternChars="#-() "/>
                        <mx:PhoneNumberValidator id="phValidator" property="text" source="{phNum}"  allowedFormatChars=""/>
              </fx:Declarations>
                                  <s:TextInput id="phNum" x="83" y="25" width="274" text="(###) ###-####" change="phNum_changeHandler(event)"/>
                                  <s:TextInput id="readyNum" x="83" y="66" width="274" editable="false" text=""/>
              <s:Button x="33" y="167" width="74" click="button1_clickHandler(event)"/>
    </s:View>
    Thanks.

  • Flex Mobile: 3D Carousel or Coverflow layout

    Anyone know if anyone has implemented a 3D carousel or coverflow layout on Flex Mobile.
    I did some searching on Google and found a few for Flex on the Web but didn't look like these would work in on Flex Mobile.
    Here's an example..
    http://www.rialvalue.com/blog/2010/03/30/flex4-coverflow-layout/

    Yes. same one.  But, app is only internal enterprise app for my client and is not in Market.
    But, here is my code from it ...
    <s:List dataProvider="{photosDP}"  width="100%" height="100%"     
                                   click="listClickHandler(event)"  id="list"  
                                  skinClass="CoverFlowListSkin"  useVirtualLayout="false"
                                  itemRenderer="TouchPresentationsCoverFlowRenderer">
            <s:layout>
                <layouts:CoverflowLayout      id="coverflow"   selectedIndex="{ list.selectedIndex }"
                                   horizontalDistance="103" 
                                   selectedItemProximity="0"
                    depthDistance="1"
                                            elementRotation="-70"
                    perspectiveProjectionX="-1"
                                            perspectiveProjectionY="-1"/>
            </s:layout>
        </s:List>
    renderer ....
    <s:ItemRenderer
              xmlns:fx="http://ns.adobe.com/mxml/2009" clipAndEnableScrolling="false"
              xmlns:s="library://ns.adobe.com/flex/spark"
              xmlns:mx="library://ns.adobe.com/flex/mx" xmlns:local="*" width="100%" height="100%">
      <fx:Script>
                        <![CDATA[
                                  import mx.core.FlexGlobals;
                                  override public function set data(value:Object):void {
                                            if(value){
                                                      img.source  = FlexGlobals.topLevelApplication.assetsUrl+'Thumbs/300/'+value.imageFile;
                                            lbl.text = value.imageCaption;
                                            bc.visible = true;
                                                      if(lbl.text.length == 0){
                                                                bc.visible = false;
                        ]]>
      </fx:Script>
      <s:layout>
      <s:BasicLayout />
      </s:layout>
      <s:BitmapImage id="img"   />
                        <s:BorderContainer id="bc" width="50%" height="60"
                                                                   backgroundColor="#000000" cornerRadius="10" borderAlpha="0.3"
                                                                   borderColor="#000000" backgroundAlpha="0.3" top="50" right="50">
                                  <s:RichText id="lbl" textAlign="center"  width="100%" backgroundAlpha="0.0" paddingTop="5" paddingBottom="5"
                                                                fontFamily="Myriad Pro-Semibold"   fontSize="14"
                                                                color="white"/>
      </s:BorderContainer>
    </s:ItemRenderer>

  • Flex Mobile : URLLoader bytesTotal always at 0 when loading file

    Hi !
    I'm trying to load external file with UrlLoader in a Flex Mobile Project ( Initialy it was with Data/Services Options of Flash Builder, but I have the same problem ). On the complete event, it work on the desktop ( bytesTotal, xml... ), but when i install my application on my nexus one ( air version : 2.5.0.1660 ), i've no data ( bytesTotal = 0 ), but the cache of the application has grown
    The application has these autorisations :
                <uses-permission android:name="android.permission.INTERNET"/>
                <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>
                <uses-permission android:name="android.permission.ACCESS_FINE_LOCATION"/>
    If someone can help me...
    Thx !
    Vince

    After messing with the URLLoader for a native windows AIR app I gave up on it. That object will return 200, ok, complete, while failing to do what it says it did.
    I never found any way to catch a real error from the server with any of the event listeners for URLLoader.  Instead I used HTTPService, it acutally returns useful data on server errors.  Here is an example, all this is tucked into my own class.
    var service:HTTPService = new HTTPService();
                   service.url = url;
                   service.resultFormat = HTTPService.RESULT_FORMAT_E4X;
                   service.method = URLRequestMethod.POST;
                   service.addEventListener(ResultEvent.RESULT,serviceResult);
                   service.addEventListener(FaultEvent.FAULT,faultResult);
                   service.send(vars);
    private function serviceResult(eResult:ResultEvent):void
                   var objResult:Object = eResult;              
                   if( objResult.result is XML )
                        xmlData = eResult.result as XML;
                        trace(xmlData);
                        dispatchEvent( new Event('eComplete') );
                   else
                        //something wrong
                        trace('BAD! No XML Returned: '+eResult.result);
                        dispatchEvent( new Event('eError') );
    private function faultResult(e:Event):void
                   if( e is ErrorEvent )
                        trace( ErrorEvent(e).text );                   
                   else if ( e is FaultEvent )
                        trace( FaultEvent(e).message.toString() );
                   else
                        trace( 'Unhandled error' );
                   dispatchEvent( new Event('eError') );

  • Flex Mobile textArea styling the text?

    I've read in several documents about TLF not supported in Flex Mobile. I then read about text fields vs textArea and css Style sheets.
    I'm trying to keep this really simple 1. cause I'm learning 2. So I can build on best practices 3. I'm still learning....
    Example:
    Main
    <?xml version="1.0" encoding="utf-8"?>
    <s:View xmlns:fx="http://ns.adobe.com/mxml/2009"
      xmlns:s="library://ns.adobe.com/flex/spark" title="HomeView"
      creationComplete="creationCompleteHandler(event)">
    <fx:Script>
      <![CDATA[
       import mx.events.FlexEvent;
       [Bindable]
       private var xmlInfo:XML;
       import mx.rpc.events.ResultEvent;
       protected function info_resultHandler(event:ResultEvent):void
        xmlInfo = new XML(event.result.text);← I want to say this is where I need to tell Flex how to interprit the incoming text format.
       protected function creationCompleteHandler(event:FlexEvent):void
        infoXML.send();
      ]]>
    </fx:Script>
      <fx:Declarations>
       <s:HTTPService id="infoXML" url="assets/data.xml"
             resultFormat="e4x"
             result="info_resultHandler(event)"/>
    </fx:Declarations>
      <s:TextArea id="spInfo" text="{xmlInfo}" width="100%"/>
    </s:View>
    data.xml
    <?xml version="1.0" encoding="utf-8"?>
    <info>
    <text><![CDATA[<b>Bold</b>Not bold<font face="Arial">Arial text</font>Not Arial
    ]]>
    </text>
    </info>
    Mobile app output
    <b>Bold</b>Not bold<font face="Arial">Arial text</font>Not Arial
    Thank you in advance.

    > How do you mean with the borders Murray? I've never had
    any trouble that
    > I'm
    > aware of? Isn't it fairly common for textfields in forms
    to have a box
    > round
    > them?
    Some browsers (Safari comes to mind) won't do borders at all,
    and others (I
    don't recall which) can actually get surly when you try. I
    don't recommend
    that you try to style form elements to that level.
    Murray --- ICQ 71997575
    Adobe Community Expert
    (If you *MUST* email me, don't LAUGH when you do so!)
    ==================
    http://www.dreamweavermx-templates.com
    - Template Triage!
    http://www.projectseven.com/go
    - DW FAQs, Tutorials & Resources
    http://www.dwfaq.com - DW FAQs,
    Tutorials & Resources
    http://www.macromedia.com/support/search/
    - Macromedia (MM) Technotes
    ==================
    "Iain71" <[email protected]> wrote in
    message
    news:f9up7e$9u1$[email protected]..
    > Cheers - font-family - of course. Think it threw me when
    I typed font :
    > and got
    > the drop down menu.
    >
    > How do you mean with the borders Murray? I've never had
    any trouble that
    > I'm
    > aware of? Isn't it fairly common for textfields in forms
    to have a box
    > round
    > them?
    >
    > Or is there a better method I could be using?
    >

  • Flex mobile 4.6 app works inside flash builder but not in android emulator

    Originally posted on stackoverflow: http://stackoverflow.com/questions/8663892/flex-mobile-4-6-app-works-inside-flash-builder- but-not-in-android-emulator
    I have a basic flex mobile 4.6 app and it works fully fine in the flash builder built-in emulator using an android device profile like aria...
    It also launches fine in the android emulator but one particular view shows blank (and this view works fine in flash builder).
    Before I get in to many details of the view are there any categorical gotchas that can be causing this?
    I can't seem to get the trace statements from the app to show in 'adb logcat'. It seems I need to compile a debug version of the apk but I don't know how to do this. I use the 'Export Release Build' from the Project menu in flash builder and it doesn't seem to have an option for debug=true.
    The problematic/blank view basically uses the stagewebview and iotashan's oauth library to call linkedin rest apis... A different (and working) view can make restful web service calls in the emulator fine, so it doesn't seem to be an internet permission.
    The source code contained in the problematic/blank view is almost identical to the tutorial found at:http://www.riagora.com/2011/01/air-and-linkedin/
    The differences are: a) The root tag is a View b) I use StageWebView instead of HtmlContainer c) I use my own linkedin key and tokens.
    I would appreciate it if someone can provide me with some pointers on how to troubleshoot this situation. Perhaps someone can tell me how to debug the app while running in the emulator (I think I need the correct adt command arguments for this which matches the 'Export Release Build' menu but adds the debug param?)
    Thanks for your help in advance.
    Comment Added:
    I suspect that this has to do with connections to https:// api.linkedin.com and https:// www.linkedin.com. The only reason I can think of that the same code is not having issues inside of Flex Builder but indeed having issues in the Android emulator is something to do with certificates. Any ideas?

    Thanks er453r,
    I have created a project that clearly reproduces the bug.  Here are the steps:
    1) Create a UrlLoader and point it to https://www.google.com (HTTPS is important because http works but HTTPS does not)
    2) Load it
    3) Run in Flash Builder 4.6/Air 3.1 and then run in Android emulator.  The former works with an http status 200.  The latter gives you an ioerror 2032.  I am assuming what works in Flash Builder is supposed to work in the Android Emulator and what what works in the emulator is supposed to work in a physical device (plus or minus boundary conditions).
    I see a certificate exception in adb logcat but not sure if it's related...
    Here is the self contained View code which works with a TabbedViewNavigatorApplication:
    <?xml version="1.0" encoding="utf-8"?>
    <s:View xmlns:fx="http://ns.adobe.com/mxml/2009"
                        xmlns:s="library://ns.adobe.com/flex/spark"
                        xmlns:mx="library://ns.adobe.com/flex/mx"
                        xmlns:ns1="*"
                        xmlns:local="*"
                        creationComplete="windowedapplication1_creationCompleteHandler(event) "
                        actionBarVisible="true" tabBarVisible="true">
              <fx:Script>
                        <![CDATA[
                                  import mx.events.FlexEvent;
                                  protected var requestTokenUrl:String = "https://www.google.com";
                                  protected function windowedapplication1_creationCompleteHandler(event:FlexEvent):void
                                            var loader:URLLoader = new URLLoader();
                                            loader.addEventListener(ErrorEvent.ERROR, onError);
                                            loader.addEventListener(AsyncErrorEvent.ASYNC_ERROR, onAsyncError);
                                            loader.addEventListener(SecurityErrorEvent.SECURITY_ERROR, securityErrorHandler);
                                            loader.addEventListener(HTTPStatusEvent.HTTP_RESPONSE_STATUS, httpResponseStatusHandler);
                                            loader.addEventListener(IOErrorEvent.IO_ERROR, ioErrorHandler);
                                            var urlRequest:URLRequest = new URLRequest(requestTokenUrl);
                                            loader.load(urlRequest);
                                  protected function requestTokenHandler(event:Event):void
                                  protected function httpResponse(event:HTTPStatusEvent):void
                                            label.text += event.status;
                                            // TODO Auto-generated method stub
                                  private function completeHandler(event:Event):void {
                                            label.text += event.toString();
                                            trace("completeHandler data: " + event.currentTarget.data);
                                  private function openHandler(event:Event):void {
                                            label.text +=  event.toString();
                                            trace("openHandler: " + event);
                                  private function onError(event:ErrorEvent):void {
                                            label.text +=  event.toString();
                                            trace("onError: " + event.type);
                                  private function onAsyncError(event:AsyncErrorEvent):void {
                                            label.text += event.toString();
                                            trace("onAsyncError: " + event);
                                  private function onNetStatus(event:NetStatusEvent):void {
                                            label.text += event.toString();
                                            trace("onNetStatus: " + event);
                                  private function progressHandler(event:ProgressEvent):void {
                                            label.text += event.toString();
                                            trace("progressHandler loaded:" + event.bytesLoaded + " total: " + event.bytesTotal);
                                  private function securityErrorHandler(event:SecurityErrorEvent):void {
                                            label.text +=  event.toString();
                                            trace("securityErrorHandler: " + event);
                                  private function httpStatusHandler(event:HTTPStatusEvent):void {
                                            label.text += event.toString();
                                            //label.text += event.responseHeaders.toString();
                                            trace("httpStatusHandler: " + event);
                                  private function httpResponseStatusHandler(event:HTTPStatusEvent):void {
                                            label.text +=  event.toString();
                                            trace("httpStatusHandler: " + event);
                                  private function ioErrorHandler(event:IOErrorEvent):void {
                                            label.text +=  event.toString();
                                            label.text += event.text;
                                            trace("ioErrorHandler: " + event);
                        ]]>
              </fx:Script>
              <fx:Declarations>
                        <!-- Place non-visual elements (e.g., services, value objects) here -->
              </fx:Declarations>
              <s:Label id="label" y="185" width="100%" color="#0A0909" horizontalCenter="0" text=""/>
    </s:View>

  • Skinning Flex Mobile TextInput

    Hi,
    I need to skin the Flex Mobile Text Input with a gradient in the background. I have created a skin for that. It works fine on Android devices but in case of iOS devices, the keyboard doesn't even comes up. If I remove the skin, it works fine. I guess the issue is with skinning, but how can I fix this? Below is the skin I created, if it helps:
    <s:SparkSkin xmlns:fx="http://ns.adobe.com/mxml/2009" xmlns:s="library://ns.adobe.com/flex/spark"
        xmlns:fb="http://ns.adobe.com/flashbuilder/2009"
        alpha.disabledStates="0.5" blendMode="normal">
        <fx:Metadata>
        <![CDATA[
             * @copy spark.skins.spark.ApplicationSkin#hostComponent
            [HostComponent("spark.components.TextInput")]
        ]]>
        </fx:Metadata>
        <fx:Script>
            <![CDATA[
             * @private
            private static const focusExclusions:Array = ["textDisplay"];
             *  @private
            override public function get focusSkinExclusions():Array { return focusExclusions;};
            ]]>
        </fx:Script>
        <s:states>
            <s:State name="normal"/>
            <s:State name="disabled" stateGroups="disabledStates"/>
            <s:State name="normalWithPrompt"/>
            <s:State name="disabledWithPrompt" stateGroups="disabledStates"/>
        </s:states>
        <!-- border -->
        <!--- @private -->
        <s:Rect left="0" right="0" top="0" bottom="0" id="border"
                                  radiusX="5" radiusY="5">
            <s:stroke>    
                <!--- @private -->
                <s:SolidColorStroke id="borderStroke" color="0xFFFFFF" weight="1" alpha="0.05" />
            </s:stroke>
        </s:Rect>
        <!-- fill -->
        <!--- Defines the appearance of the TextInput component's background. -->
        <s:Rect id="background" left="1" right="1" top="1" bottom="1"
                                  radiusX="5" radiusY="5">
            <s:fill>
                <!--- @private Defines the background fill color. -->
                <!-- s:SolidColor id="bgFill" color="0xFFFFFF" alpha="0"/-->
      <s:LinearGradient rotation="90">
      <s:GradientEntry color="0x131516"
                                                                                     alpha="1"/>
      <s:GradientEntry color="0x282b31"
                                                                                     alpha="1"/>
      </s:LinearGradient>
      </s:fill>
        </s:Rect>
        <!-- shadow -->
        <!--- @private -->
        <s:Rect left="1" top="1" right="1" height="1" id="shadow" alpha="0"
                                  radiusX="5" radiusY="5">
            <s:fill>
                <s:SolidColor color="0xFFFFFF" alpha="0.25" />
            </s:fill>
        </s:Rect>
        <!-- text -->
        <!--- @copy spark.components.supportClasses.SkinnableTextBase#textDisplay -->
        <s:RichEditableText id="textDisplay"
                  verticalAlign="middle"
                  widthInChars="10"
                  left="1" right="1" top="1" bottom="1" />
        <!--- Defines the Label that is used for prompt text. The includeInLayout property is false so the prompt text does not affect measurement. -->
        <s:Label id="promptDisplay" maxDisplayedLines="1"
                    verticalAlign="middle"
                    mouseEnabled="false" mouseChildren="false"
                    includeIn="normalWithPrompt,disabledWithPrompt"
                    includeInLayout="false" />
    </s:SparkSkin>

    You are using a non-mobile skin:
    <s:RichEditableText id="textDisplay" 
                  verticalAlign="middle" 
                  widthInChars="10" 
                  left="1" right="1" top="1" bottom="1" /> 
        <!--- Defines the Label that is used for prompt text. The includeInLayout property is false so the prompt text does not affect measurement. -->
    Pls Read here about mid page- wont call keyboard and have scrolling issues, etc:
    Adobe Flex 4.6 * Use text in a mobile application
    Here are the mobile skins: spark.skins.mobile - Adobe ActionScript® 3 (AS3) API Reference ... apply to base components you need to use.
    Good luck.

Maybe you are looking for