             handleContentSizeChangeOnUpdateComplete);
         
         handleContentSizeChange();
+    }
+    
+    /**
+     *  @private 
+     */
+    private function viewport_resizeHandler(event:Event):void
+    {
+        if (getStyle("interactionMode") == InteractionMode.TOUCH)
+        {
+            // If the viewport dimensions have changed, then we may need to update the
+            // scroll ranges per the new viewport size.
+            // Note that the orientationChangeHandler serves the same purpose, but on
+            // some platforms (i.e. Android) the runtime sends the "orientationChange"
+            // event before the new viewport dimensions are set.
+            determineScrollRanges();
+        }
     }
     
     /**

            viewport.clipAndEnableScrolling = false;
            Group(skin).removeElement(viewport);
            viewport.removeEventListener(PropertyChangeEvent.PROPERTY_CHANGE, viewport_propertyChangeHandler);
        }
    }
    

            viewport.clipAndEnableScrolling = true;
            Group(skin).addElementAt(viewport, 0);
            viewport.addEventListener(PropertyChangeEvent.PROPERTY_CHANGE, viewport_propertyChangeHandler);
            viewport.addEventListener(Event.RESIZE, viewport_resizeHandler);
        }
        if (verticalScrollBar)
            verticalScrollBar.viewport = viewport;
