5 Replies Latest reply on Jul 26, 2011 12:53 AM by Francesco_C

    Flex Mobile: Problems with MultiDPI SplashScreen

    Francesco_C Level 1

      Hi guys,

       

      The property applicationDPI in my application is 160, and I created three bitmaps to 160, 240 and 320 DPI to be used in the SplashScreen.

      I created this class . see : http://www.adobe.com/devnet/flex/articles/mobile-skinning-part2.html#a rticlecontentAdobe_numberedheader_5


      package preloaders
      {
          import mx.core.DPIClassification;
          import mx.core.mx_internal;
         
         
          use namespace mx_internal;
         
          public class MultiDPISplashScreen extends CustomSplash
          {
             
              [Embed(source="assets/mobile160/splash_160.png")]
              private var SplashImage160:Class;
             
              [Embed(source="assets/mobile240/splash_240.png")]
              private var SplashImage240:Class;
             
              [Embed(source="assets/mobile320/splash_320.png")]
              private var SplashImage320:Class;
                 
              public function MultiDPISplashScreen()
              {
                  super();
              }
             
              override mx_internal function getImageClass(dpi:Number, aspectRatio:String):Class
              {
                  if (dpi == DPIClassification.DPI_160)
                      return SplashImage160;
                  else if (dpi == DPIClassification.DPI_240)
                      return SplashImage240;
                  else if (dpi == DPIClassification.DPI_320)
                      return SplashImage320;
                  return null;
              }
          }
      }

       

       

      Ih the main app:


      <s:TabbedViewNavigatorApplication xmlns:fx="http://ns.adobe.com/mxml/2009"
                                  xmlns:s="library://ns.adobe.com/flex/spark"
                                  applicationDPI="160"
                                  preloader="preloaders.MultiDPISplashScreen"
                                  splashScreenMinimumDisplayTime="2000">

       

       

       

      The problem is that Flex does not take the correct bitmap if i run my app at 240DPI or at 320DPI (as does the class MultiDPIBitmapSource)and my splash screen is scaled and grainy! :-(

       

      Can anyone help me?

       

      Thnks a lot!

       

      Francesco