 
 package spark.skins.mobile
 {
-    
+
 import flash.display.DisplayObject;
 import flash.display.GradientType;
 import flash.display.Graphics;
 
 import mx.core.DeviceDensity;
 import mx.core.mx_internal;
+import mx.events.FlexEvent;
 import mx.utils.ColorUtil;
 
+import spark.components.supportClasses.StyleableTextField;
 import spark.skins.mobile.supportClasses.ButtonSkinBase;
 import spark.skins.mobile160.assets.Button_down;
 import spark.skins.mobile160.assets.Button_up;

        else
            return upBorderSkin;
    }

}
}
        {
            layoutBorder(bgImg, unscaledWidth, unscaledHeight);
        }
        
        // The label and icon should be placed on top of the FXG skins
        super.updateDisplayList(unscaledWidth, unscaledHeight);
        
        // update label shadow
        labelDisplayShadow.alpha = getStyle("textShadowAlpha");
        labelDisplayShadow.commitStyles();
        
        // FIXME (jasonsj): this resize causes scaling issues at 1.5x and 2x
        // artifacts show below ActionBar buttons
        setElementSize(labelDisplayShadow, labelDisplay.width, labelDisplay.height);
        setElementPosition(labelDisplayShadow, labelDisplay.x, labelDisplay.y + 1); 
        
        // if labelDisplay is truncated, then push it down here as well.
        // otherwise, it would have gotten pushed in the labelDisplay_valueCommitHandler()
        if (labelDisplay.isTruncated)
            labelDisplayShadow.text = labelDisplay.text;
    }
    
    /**
